2016-05-31 60 views
0

我試圖讓一個引導進度條工作,但我遇到了一個問題。我想從Django變量中獲取進度條寬度,我使用模板語言來完成此操作。問題是,HTML將浮點變量(即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 %} 
{% localize off %} 
    {{ foo.rendimiento }} 
{% endlocalize %} 

您也可以unlocalize一個單值:

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

Django format localization documentation