嗨,我有javascript,如下所示包含django变量。
<script>
$(document).ready(function() {
{% for a in all_results %}
$('#{{a.set|slice:":7"}}_{{ a.item }}_{{ a.kidu|slice:":2" }}').html('<a class="a1" href="{% url 'req_detail_view' a.id %}">{{ a.id }}</a>');
$('#{{a.set|slice:":7"}}_{{ a.item}}_{{ a.kidu|slice:":2" }}').addClass('{{ a.state__name.split|join:"_" }}');
{% endfor %}
});
</script>从我的观点来看,所有结果都是一个查询结果:
context['all_results'] = m.values('set', 'kidu', 'id', 'item', 'state__name')所面临的问题是,如果item的值是逗号分隔的值,则id不会传递给我所拥有的模板。但是,如果item的值是一个单词,那么我的代码工作得很好,并且id正在传递给模板。伙计们有什么想法吗?
发布于 2016-02-18 09:48:10
在有自定义筛选器和标记的文件中,添加以下函数
from django import template
register = template.Library()
@register.filter
def replace_commas(string):
return string.replace(',', '_')要查看如何创建自定义过滤器,请查看django的文档。
'__init__.py'注意,您可以通过使find/替换一个参数来使模板标记更加灵活。例如:
from django import template
register = template.Library()
@register.filter
def find_replace(string, find_replace=",|_"):
find, replace = find_replace.split("|")
return string.replace(',', '_')然后,您就可以在模板中这样使用它了:
{{ m.item|find_replace:",|-" }}(用-代替-'s )
发布于 2016-02-18 09:48:35
您可以只需在模型上写入一个属性来执行替换,然后在模板中使用此属性。
# model
@property
def uncommad_item(self)
return self.item.replace(',', '_')
# template
{{ a.uncommad_item }}https://stackoverflow.com/questions/35477483
复制相似问题