在Django中进行预声明后,在render方法中设置数据

时间:2019-03-30 05:51:53

标签: python django cookies django-middleware

我已经声明了如下变量:

response = render( request, 'authme/login.html', {} )

在某个时间点,我需要设置临时cookie并在视图中传递临时cookie的值。

我尝试了以下方法来设置数据,如下所示:

  1. response ['message'] =“登录失败:请重试”
  2. response.message =“登录失败:请重试”

谁能建议我如何使用变量“ response”来设置消息部分,方法与我们如何用于设置cookie的PFB:

response.set_cookie('message','Login Failed: Please try again')

因此它等效于以下语句:

response = render( request, 'authme/login.html', {"message":"Login Failed: Please try again"})

1 个答案:

答案 0 :(得分:3)

请参阅Django messages framework,您可以通过视图传递消息:

messages.error(request, 'Login Failed')
messages.success(request, 'Successfully Logged in.'

您可以在HTML中使用Jinja2使用这些消息:

{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}