检查模板中字符串的 unicode 列表

Posted

技术标签:

【中文标题】检查模板中字符串的 unicode 列表【英文标题】:Checking against a unicoded list of strings in template 【发布时间】:2012-02-01 17:37:19 【问题描述】:

我的模板中有以下代码(请注意if 语句):

% for base in bases %
    <label class="checkbox">
        <input name="base" value= base.id  type="checkbox" 
           % if base.id in selected_bases %checked="checked" % endif %/>
        <span> base.name </span>
    </label>
% endfor %

selected_bases 变量是一个 unicode 字符串列表:[u'3', u'1', u'5']base.id 是一个整数。

如何使它们具有相同的类型,以便 if 语句执行我需要的操作?

【问题讨论】:

你能把视图中的selected_bases作为整数传递吗? @aganders3:我不想。 selected_bases 是来回传递selected_bases = request.GET.getlist('base') 的碱基列表。 @gruszczy 下面的解决方案可以解决问题 【参考方案1】:

我不知道这是否有效,但试试这个:

% if value|stringformat:"d" in selected_bases %

【讨论】:

【参考方案2】:

您可能应该在视图中执行此操作,但您可以通过add 过滤器对列表值进行管道传输,该过滤器执行强制类型 - 或将整数传输到 slugify,这将执行相反的操作。更多信息here。

【讨论】:

以上是关于检查模板中字符串的 unicode 列表的主要内容,如果未能解决你的问题,请参考以下文章

将Unicode列表转换为包含Python字符串的列表的简单方法?

如何检查 Javascript 中 Unicode 字符串的相等性?

Unicode 检查字符串是否含中文字(函数)

从列表中获取包含 JavaScript 中的 Unicode 的字符串

如何检查字节数组是不是包含 Java 中的 Unicode 字符串?

Unicode字符列表的Unicode 编码表