Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Django模板的for循环中传递方法的参数_Django_Django Templates - Fatal编程技术网

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