2016-09-29 26 views
0

私はコミュニティポータルを構築しようとしており、「ログイン成功」などのワンタイムメッセージをユーザーに表示するように取り組んでいます。 Djangoのメッセージフレームワークに取り組んでいます。不思議なDjangoメッセージフレームワークにメッセージが表示されませんか?

{% if messages %}{% for message in messages %}<script>alert({{ message }});</script>{% endfor %}{% endif %} 

、次の作品の各:

マイテンプレートは現在、何もしない、以下の行がある。このことから

{% if messages %}{% for message in messages %}<script>alert();</script>{% endfor %}{% endif %} 

{% if messages %}{% for message in messages %}<script>alert("Welcome");</script>{% endfor %}{% endif %} 

を、私は、私が作成していないよと結論づけていますメッセージを正しく格納したり、渡したりすることができます。しかし、私はドキュメントをチェックしていると私の構文がうまくいくようです。

私のメッセージの作成。 views.py:

def login(request): 

    userName = request.POST.get('usrname',None) 
    userPass = request.POST.get('psw',None) 

    user = authenticate(username=sanitize_html(userName), password=userPass) 

    if user is not None: 
     if user.is_active: 
      auth.login(request, user) 
     messages.add_message(request, messages.INFO, 'Successfully logged in!') 
    else: 
     messages.add_message(request, messages.INFO, 'Login not successful. Please try again.') 

    return HttpResponseRedirect('/home/') 

私のメッセージの取得と通過、views.py(マップは '/ホーム/' をURLに):

def test(request): 

    messagealert = [] 
    mess = get_messages(request) 

    for message in mess: 
     messagealert.append(message) 

    if request.user.is_authenticated(): 
      student_user = get_student_user(request.user) 
      student_user.first_name = request.user.first_name 
      student_user.last_name = request.user.last_name 
      student_user.email = request.user.email 

      content = { 
       'student_user': student_user, 
       'messages': messagealert, 
      } 
    else: 
      content = { 
       'student_user': None, 
       'messages': messagealert, 
      } 

    return render_to_response('index3.html', content) 

マイindex3.htmlテンプレートは、与えられたラインを持つテンプレートです上記。

私はここで何が欠けていますか?

答えて

1

testビューにrender_to_responseを使用しないでください。 messagesのようなものや、userのような他の有用なアイテムをコンテキストに挿入するために必要なコンテキストプロセッサは実行されません。代わりに

使用render

return render(request, 'index3.html', context) 
+0

ねえ、男。これは私のために働いた。どうもありがとう。私はまだ '{{message}}'を ' 'が少なくともhtmlで表示されます。 –

関連する問題