2016-05-31 1 views
0

ブートストラップの進行状況を取得しようとしていますが、問題が発生しています。私はDjango変数からプログレスバーの幅を取得したい、私はこれのためのテンプレート言語を使用します。問題は、HTMLがfloat変数(32.54)を文字列(32,54)に変更することです。私はなぜこれが起こるかわからないが(私の推測はエンコーディングだが)、変数が数値でなければwidth属性は機能しない。CSSでDjango数値変数を使用する

明確にするため、これは私のコードです。

Views.py:

def details(request): 
    estudio = request.GET.get('estudio', '') 
    uni = request.GET.get('uni', '') 
    campus = request.GET.get('campus', '') 
    result = Titulaciones.objects.raw('SELECT * FROM tasas t INNER JOIN titulaciones tit on t.codigo_titulacion = tit.codigo_titulacion INNER JOIN impartida_en imp ON tit.codigo_titulacion = imp.codigo_titulacion INNER JOIN centros cent ON imp.codigo_centro = cent.codigo_centro WHERE cent.universidad = %s and tit.nombre = %s and cent.campus =%s', [uni, estudio, campus]); 
    return render(request, 'proyecto_uni/details.html', {'result':result}) 

(私はここで印刷する場合、変数はまだ数として表示されます)。

details.html

{% extends "base.html" %} 

{% block content %} 

    {% for foo in result %} 
    <ul class="nav nav-tabs"> 
    <li role="presentation"><a href="#tab1" >General</a></li> 
    <li role="presentation"><a href="#tab2">Asignaturas</a></li> 
    <li role="presentation"><a href="#tab3">Resultados</a></li> 
    </ul> 

    <!-- TAB 1 --> 
    <div id="tab1"> 
    <div class="panel panel-primary"> 
    <!-- Default panel contents --> 
    <div class="panel-heading">{{foo.nombre}}</div> 
     <div class="panel-body"> 
     <h4>Universidad:</h4> 
     <p>{{ foo.universidad }}</p> 
     <hr class="m-y-2"> 
     <h4>Campus:</h4> 
     <p>{{ foo.campus }}</p> 
     <hr class="m-y-2"> 
     <h4>Descripción:</h4> 
     <p>Aquí debería ir la descripción</p> 
     <hr class="m-y-2"> 
     <h4>Nota de corte:</h4> 
     <p>{{ foo.nota_corte }}</p> 
     </div> 
    </div> 
    </div> 

    <!-- TAB 2 --> 
    <div id="tab2"> 
    <p>tab2</p> 
    </div> 

    <!-- TAB 3 --> 
    <div id="tab3"> 
    <div class="panel panel-primary"> 
     <div class="panel-heading">{{foo.nombre}}</div> 
     <div class="panel-body"> 
     <div class="progress"> 
      <div class="progress-bar progress-bar-success" style="width: {{foo.rendimiento}}%"> 
      <span class="sr-only">{{foo.rendimiento}}% Complete (success)</span> 
      <!-- The problem is right above, in the width style tag --> 
      </div> 
      <div class="progress-bar progress-bar-warning" style="width: 2%"> 
      <span class="sr-only">22% Complete (warning)</span> 
      </div> 
      <div class="progress-bar progress-bar-danger" style="width: 1%"> 
      <span class="sr-only">1% Complete (danger)</span> 
      </div> 
     </div> 
     </div> 
    </div> 
    </div> 

{% endfor %} 
{% endblock%} 

私は、それが簡単に理解できるようにするすべてのコードを掲示し、私はそれがさらに混乱しなかった願っています。とにかく、事前に感謝!

答えて

1

Djangoは、ローカライズ設定に従って番号をフォーマットします。あなたは使ってローカライズをオフにすることができます

{% load l10n %} 
    {{foo.rendimiento|unlocalize}} 

Django format localization documentation

:あなたはまた、1つの値をunlocalizeでき

{% load l10n %} 
{% localize off %} 
    {{ foo.rendimiento }} 
{% endlocalize %} 

関連する問題