2016-04-11 11 views
0

私は{{request.session.something}}をDjangoテンプレート(TemplateResponse付き)で動作させようとしています。ここでDjango:テンプレート内のrequest.session

は、私がこれまでに発見した情報のビットです:すべての

  • まず、私は「django.template.context_processors.request」(ジャンゴ1.9)私の設定に含まれています。私はその後、django.shortcutsからレンダリングを使用する場合
  • {{request.session.something}}は完全にテンプレートに働く
  • 私はミドルウェアを持っていると私は「process一」と「process_template_response」にする必要があるので、私は、TemplateResponseを使用する必要があります呼び出される( "process_template_response"がdjango.shortcutsからのレンダリングで動作しないことを思い出してください)

何か問題がありますか?

ビューコード(何も特別な):

from django.template.response import TemplateResponse as render 
def coming_soon(request): 
    return render(request, 'app/coming-soon.html', None) 

は、事前にありがとうございます! ご協力いただければ幸いです!

+0

を行うことができ、テンプレート内のビューのコードを表示してください可能性があります。 –

+0

私は前にこれを使用していないので正確にtamplateレスポンスを使用しているかどうかはわかりませんが、ビューの他の変数と同様にセッションデータをリクエストコンテキスト辞書に追加してレンダリングに渡してテンプレートそれにアクセスすることができます。テンプレートは要求セッションにアクセスできません。 – xthestreams

+0

ミドルウェアでやろうとします... – user3489820

答えて

0

あなたは、クラスベースのビューを使用している場合は、

def get_session_thing(self): 
    x = self.request.session.thing 
    #stuff 
    return str(x) 

のような機能を作り、その後、あなたが

{{ view.get_session_thing }} 
関連する問題