9

django-registrationを使用してユーザーをアプリケーションにログインしています。その部分は正常に機能します。ユーザーがログインするときにカスタムセッション変数を設定する方法がわかりません。たとえば、UserProfileデータと他のいくつかの関数の出力を含む変数を設定したいと思います。そうすれば、その情報を後続のビュー/テンプレートで使用できるようになります。

誰かが私にオンラインでチュートリアルを教えたり、サンプルコードを投稿したりできるなら、それは素晴らしいことです。

django1.1とPython2.6を使用しています

4

2 に答える 2

4

ユーザーデータ(追加のセッションデータのみ)を永続的に保存したくない場合は、以下を参照してください。

http://docs.djangoproject.com/en/dev/topics/http/sessions/

django.contrib.authを使用する場合、セッションフレームワークはおそらくすでに有効になっています。

追加のユーザーデータを(セッションだけでなくデータベースにも)永続的に保存する場合は、それらを別の「プロファイル」モデルに保存します。

http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users

于 2010-02-15T18:27:42.823 に答える
2

@stefanwが別の解決策を提供したことはわかっていますが、元の質問に答えるには:

ログイン時にセッションデータを設定するのは困難です。データを設定する最も簡単な場所はビュー関数であり、変更する特定のビュー関数はcontrib.django.authアプリの一部であるためです。

したがって、オプションは次のようになります。

  • 小さなミドルウェアクラスを作成して、セッションデータを設定します。
  • 必要なデータを設定するログインテンプレートまたは後続のページに統合できるテンプレートタグまたはその他のコードを作成します。
  • 独自のカスタムログインビュー関数を作成します(実際には非常に簡単です)。

ハッピージャンゴイング!

于 2010-02-15T21:57:25.477 に答える