Django:列表中的字符串(模板)

时间:2015-10-29 11:37:06

标签: django django-templates

如何查看变量是否在字符串列表中?我的代码出错:

{% with xxx=request.resolver_match.url_name %}
  {% if xxx in ["home_en", "page_en"] %}
  ...
  {% else %}
  ...
  {% endif %}
{% endwith %}

3 个答案:

答案 0 :(得分:0)

您无法在django模板中动态定义列表。 您应该通过视图的上下文或使用上下文处理器将此列表作为变量传递给模板。

作为一种肮脏的溶剂,你可以执行这样的操作 {%if xxx in' home_enpage_en' %}

但要注意像“家庭',' enpage',' _en'实际上将通过此检查以及' home_en'和' page_en'。

答案 1 :(得分:0)

感谢。我想我更喜欢

define([

], function (

    ) {
    'use strict';
    var _instance;
    function _SingleTone() {
    }
    _SingleTone.prototype = {
        init: function () {
        }
    };
    return function _getSingleton() {
        return (_instance = (_instance || new _SingleTone()));
    };
});

工作正常,但看起来不如列表那么好。

答案 2 :(得分:0)

你可以这样做

{% with request.resolver_match.url_name as xxx %}
  {% with "home_en page_en" as mylist %}
  {% if xxx in mylist.split %}
  ...
  {% else %}
  ...
  {% endif %}
  {% endwith %}
{% endwith %}