【问题标题】:Using Django numeric variable in css在 css 中使用 Django 数值变量
【发布时间】:2016-05-31 15:49:32
【问题描述】:

我正在尝试让引导进度条工作,但我遇到了问题。我想从 Django 变量中获取进度条宽度,为此我使用模板语言。问题是,HTML 将浮点变量(即 32.54)更改为字符串(即 32,54)。我不确定为什么会发生这种情况(我的猜测是编码)但是如果变量不是数字,宽度属性将不起作用。

为了澄清,这是我的代码。

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%}

我发布了所有代码以使其更易于理解,希望我没有让它变得更加混乱。无论如何,提前谢谢!

【问题讨论】:

    标签: python html css django twitter-bootstrap


    【解决方案1】:

    Django 根据您的本地化设置格式化数字。您可以使用以下命令关闭本地化:

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

    您还可以取消本地化单个值:

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

    Django format localization documentation

    【讨论】:

      猜你喜欢
      • 2011-08-28
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 2020-08-22
      • 2021-02-28
      • 2015-04-21
      • 2011-03-11
      • 2016-12-25
      相关资源
      最近更新 更多