在Django模板的for循环中传递方法的参数
如何传递用户参数,例如:在Django模板的for循环中传递方法的参数,django,django-templates,Django,Django Templates,如何传递用户参数,例如: {% for document in documents %} {% for status in document.status_for user %} {{status}} {% endfor %} {% endfor %} 生成异常: 异常类型:TemplateSyntaxError异常值:“for”语句 应使用格式“for x in y”:表示中的状态 用户的document.status\u 简单的方法 编辑: 忘记了一个小细节,
{% for document in documents %}
{% for status in document.status_for user %}
{{status}}
{% endfor %}
{% endfor %}
生成异常:
异常类型:TemplateSyntaxError异常值:“for”语句
应使用格式“for x in y”:表示中的状态
用户的document.status\u
简单的方法
编辑:
忘记了一个小细节,这是在循环 来自
变量只有在没有必需的参数时才能调用。否则,系统将返回一个空字符串
如果你真的想这样做,你可以写
或者适当地封送视图中的数据,然后传递到模板。From
# views.py
# ... inside view
statuses = list()
for document in documents:
statuses.append( document.status_for(request.user) )
return render_to_response('path/to/template.html', {'statuses': statuses}, context_instance=RequestContext(request))
变量只有在没有必需的参数时才能调用。否则,系统将返回一个空字符串
如果你真的想这样做,你可以写
或者适当地封送视图中的数据,然后传递到模板。您需要在将数据发送到模板之前对其进行操作
# views.py
# ... inside view
statuses = list()
for document in documents:
statuses.append( document.status_for(request.user) )
return render_to_response('path/to/template.html', {'statuses': statuses}, context_instance=RequestContext(request))
在模板中:
{% for status in statuses %}
{{ status }}
{% endfor %}
在将数据发送到模板之前,需要对其进行操作
# views.py
# ... inside view
statuses = list()
for document in documents:
statuses.append( document.status_for(request.user) )
return render_to_response('path/to/template.html', {'statuses': statuses}, context_instance=RequestContext(request))
在模板中:
{% for status in statuses %}
{{ status }}
{% endfor %}
您可以创建自定义模板标记:
// In your app_folder/templatetags/custom_filter.py
@register.filter
def user_status(status, user):
// Do work on these values
在你的视野中使用它
{% for status in document.status_for %}
{{status|user_status(user)}}
{% endfor %}
您可以在Django中找到有关自定义模板标记的更多信息,您可以创建自定义模板标记:
// In your app_folder/templatetags/custom_filter.py
@register.filter
def user_status(status, user):
// Do work on these values
在你的视野中使用它
{% for status in document.status_for %}
{{status|user_status(user)}}
{% endfor %}
您可以在Django中找到有关自定义模板标记的更多信息,您不能将参数传递给Django模板中的方法。=\n类似{%url document\u print document.id%}的工作原理如何?请尝试:
{%for status in user | document.status\u for%}
逻辑必须进入视图,而不是模板!将document.status_for(user)的结果添加到模板的上下文中。@LuizCarvalho,这不是一个变量,而是一个标记,您不能将参数传递给django模板中的方法。=\n类似{%url document_print document.id%}的工作原理如何?请尝试:{%for status in user | document.status_for%}
逻辑必须进入视图,不是模板!将(用户)的document.status_的结果添加到模板的上下文中。@LuizCarvalho,这不是一个变量,而是一个标记,不能通过{status}{user|u status(user)}
trued:{status}user|u status:user}
通过{status}user|u status(user)}}
trued:{{status | user _status:user}}