0

Django では、フォーム クラスを定義し、クラス フィールドに従ってテンプレートにレンダリングさせることができます。しかし、フォームを送信したユーザーに関する情報をビューに安全に渡すにはどうすればよいでしょうか?

たとえば、ユーザーをテンプレートのフォーム フィールドに手動でハードコードすることができます。

{{ request.user.username }}

しかし、この場合、フォームの URL に自分の投稿リクエストを、必要なユーザーと共に送信することはできませんか?

上記のシナリオが発生するのを防ぎ、フォームを送信したユーザーに関する情報をビューに取得させる「Djangoアプローチ」はありますか?

4

2 に答える 2

2

フォームの送信者を安全に追跡するために、フォームを送信するためにユーザーがログインすることを要求できます。

kathikr が述べたように、 @login_requireddecorator を使用して、ユーザーがログインしてフォームを送信できるようにすることができます。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 に答える