2017-06-14 19 views
0

私はdjangoのドキュメントを読んできましたが、これまでに試したことはすべて私のために働いていません。ユーザーが特定のページへのURLを入力し、まだログインしていない場合、ログインページにリダイレクトされ、そのページにアクセスできないというポップアップエラーメッセージが表示されます。ページ彼らがログインするまで。djangoにアラートポップアップボックスを追加するには?

ここでは

def home(request): 
    if request.session.test_cookie_worked(): 
     return render(request, 'page/home.html') 
    else: 
     return render(request, 'page/login.html') 

すべては彼らがログインページにリダイレクトされた場合にポップアップしていないエラーメッセージ以外の作品views.pyからのコードの小さなスニペットです。私は人々がこれに似ている他のスタックオーバーフローの質問を見てきましたが、それらは私にとってもうまくいかないようです。何かアドバイス?

答えて

0

ここで私はそれをやっています。

まず、ビューのコードはポップアップが表示されるべきであると判断した場合、コンテキスト内の名前のフラグとrender()を呼び出します。

return render(request, 'page/home.html', {'some_flag': True}) 

次に、ページ・テンプレートに、フラグが設定されている場合は、表示A <div>要素:ページテンプレートでも

{% if some_flag %} 
    <div id="some_flag" title="Some Flag"> 
     <p>Some Text Here</p> 
    </div> 
{% endif %} 

<head>セクションでは、ポップアップダイアログとして<div>を表示するにはJavaScript関数を作成します。

<head> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $(function() { 
       $("#some_flag").dialog({ 
        modal: true, 
        closeOnEscape: false, 
        dialogClass: "no-close", 
        resizable: false, 
        draggable: false, 
        width: 600, 
        buttons: [ 
         { 
          text: "OK", 
          click: function() { 
          $(this).dialog("close"); 
          } 
         } 
        ] 
       }); 
      }); 
     }); 
    </script> 
</head> 

また、このソリューションでは、jQueryライブラリを使用する必要があります。

私はこのようにすることには欠点があると確信していますが、それは私のために働くものです。

+0

ありがとうございます。ありがとうございます。とにかく、これはhtmlページのスクリプトで関数を呼び出すことができるでしょうか?だからダイアログボックスの警告ボックスを作成する代わりに、それは何か他のことをした

関連する問題