0

在 Django 中,您可以定义表单类并让模板根据类字段呈现它们。但是,您如何安全地将有关提交表单的用户的信息传递到视图中?

例如,您可以手动将用户硬编码到模板中的表单字段中

{{ request.user.username }}

但是,在这种情况下,任何人都不能向表单 url 提交他们自己想要的任何用户的发布请求吗?

是否有“Django 方法”来防止发生上述情况并让视图检索有关提交表单的用户的信息?

4

2 回答 2

2

为了安全地跟踪表单的提交者,您可以要求用户登录才能提交表单。

正如 kathikr 提到的,您可以使用@login_required装饰器来确保用户登录以提交表单。然后你可以依靠request.user来确定登录用户。

于 2013-07-09T17:42:15.637 回答
1

contrib 应用程序“django.contrib.auth”和“django.contrib.sessions”执行此操作的标准 Django 方式。

阅读有关“auth”应用程序的文档: https ://docs.djangoproject.com/en/dev/topics/auth/default/

于 2013-07-09T17:36:28.910 回答