質問

ホームページビューを変更するとき:

def home(request):
    return render_to_response('homepage.html')

def home(request):
    return render_to_response('homepage.html',context_instance=RequestContext(request))

user Webブラウザ(Firefox)を閉じた場合でも、誰が私のサイトをログインします

どうして context_instance=RequestContext(request) これを行うことができますか?クッキーを使用していますか?

この状態を維持するのはどれくらいですか。

ありがとう

homepage.htmlは次のとおりです。

{% if user.is_authenticated %}
    <p>Welcome, {{ user.username }}. Thanks for logging in.</p>
{% else %}
    <p>Welcome, new user. Please <a href="/account/login_view">login</a></p>
{% endif %}
役に立ちましたか?

解決

RequestContextを追加しても、ユーザーのログイン状態はまったく変更されません。そして、Cookieについてのあなたの質問はまったく意味がありません。 RequestContextが行うことは、特定の変数をテンプレートコンテキストでアクセスできるようにすることです。 auth コンテキストプロセッサが有効になっています user 変数。

RequestContextがなければ、ユーザーはまだログインしていますが、 user コンテキストに変数、だからあなた if ステートメントはfalseに評価されます。ユーザーの実際のステータスとは何の関係もありません。

他のヒント

追加する場合 context_instance=RequestContext(request) からのコンテキスト コンテキストプロセッサ あなたはあなたの中で定義しました settings.py テンプレートに追加されます、あなたの場合、これには現在のユーザーオブジェクトが含まれます user。削除すると、変数は存在しませんが、テンプレートの内部には例外が生まれませんが、ユーザーにログされていないHTMLがレンダリングされます!

ユーザー情報はaに保存されます セッション, 、クッキーを使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top