在Django中,您可以定义表单类,并根据类字段设置模板。但是,如何将有关提交表单的用户的信息安全地传递到视图中?
例如,您可以使用
手动将用户硬编码到模板中的表单字段中{{ request.user.username }}
但是,在这种情况下,有没有人可以向他们想要的任何用户提交他们自己的帖子请求到表单网址?
是否存在“Django方法”以防止上述情况发生并让视图检索有关提交表单的用户的信息?
答案 0 :(得分:2)
要安全跟踪表单的提交者,您可以要求用户登录才能提交表单。
正如kathikr所提到的,您可以使用@login_required
装饰器来确保用户已登录以提交表单。然后,您可以依靠request.user
来确定登录用户。
答案 1 :(得分:1)
contrib app“django.contrib.auth”和“django.contrib.sessions”是标准的Django方式。
特别阅读“auth”应用程序的文档: https://docs.djangoproject.com/en/dev/topics/auth/default/