すべてのビューに変数を渡すことをお勧めしますか?つまり、私の場合、外部キーdjango.contrib.auth.models.UserオブジェクトのUserProfileオブジェクトを渡したいと思います。私の意見がすべてUserProfileオブジェクトを取得してミドルウェアに入れる必要があるとは限りません。私は、次のような何かを行うことができますようにそれは(私はそれを示唆するソリューションオンラインのカップルを見てきました)ようだ:request.sessionを使用せずにDjango Middlewareのリクエストオブジェクトにカスタム変数を追加する
request.session['userprofile'] = userprofile_object
私のUserProfileモデルは、これまで非直列化可能フィールドを持っている場合、私はこのために好きではありませんそれはrequest.sessionを破ります。
ええ、UserProfileオブジェクトを取得するには複数の方法があります。 UserProfile.objects.filter(user = request.user)を実行することもできますが、それは質問には答えません。どのようにビューに渡しますか? – jsw
おそらく私はあなたの質問を誤解しているかもしれません。すべてのビューが最初の引数として渡された要求を取得するため、ビューをビューに「渡す」必要はありません。すべてのテンプレートでuserprofileの変数を使用できるようにするには、userprofile_objectを変数に入れるカスタムcontext_processorを検討してください。 – Jingo
'prof = request.user.userprofile_object_set.all()[0]'は呼び出されるたびにデータベースにヒットすると思いますか? – user9876