ジャンゴ--- Djangoのログインケース

  フロントもビュー、モデル、モジュール、アドレスの関係の簡単なロジックについて書いた、とそれぞれが引用し説明しています。通常、我々はコンテンツを通じて、以前の最初で学んだ、今日のログインを持つことになり、ほとんどのWebページを参照して、簡単なログインページを作成します

要件ドキュメント

我々はまた、その需要を理解する最初の試験を、ここで最初の明確な需要。アカウントのパスワードが間違っている場合は、静かなブログページに直接移動し、正しいアカウントのパスワードを入力し、ログインページに入力された、エラーがログインページでアカウントのパスワードが失敗するプロンプトが表示されます。需要は非常にシンプルですが、また、アイデアを持っている最初の。

思考

1は、最初のフロントページのログインを書きます。

2、アカウント名が正しく入力された裁判官

3、アカウント名が正しいこと、そして静かなブログページに直接ジャンプ

4、アカウント名を間違って、そのアカウントのパスワードプロンプトエラー

小規模チョッパー

あまり話をしなかった、我々は考え出した、あなたが書き込みを開始することができます思いました

ログインページ

私たちは、簡単なログインページの使用(フロントエンド静かに書かれていない、COU COUは東で、西の戦いの戦いは、~~を見ないように)ことを書いた最後の時間

注意:

図1は、ここでは、ユーザー名とパスワードはバックエンドのために、後に=「XXX」のパラメータを指定する必要があります持っています。

2、  < フォームアクション=「/ Login2 /」メソッド、=「POST」>  パスワードが間違っている場合ここでは、リクエストメソッドがPOSTである、また、このページでは、現在のページのページに戻ります

login2.html 

<!DOCTYPE HTML > 
< HTML LANG = "EN" > 
< > 
    < メタ文字コード= "UTF-8" > 
    < タイトル>首页</ タイトル> 
</ ヘッド> 
< 身体> 
    < H1 > 
        < p個のスタイル= "テキスト整列:中央」フォントサイズ= "2" >欢迎来到安静的博客:</ P > 
    </ H1 > 
    <
        スタイル= "テキスト整列:センター" >请输出账号密码:</ P > 
    </ H1 > 
    < フォームアクション= "/ login2 /" 方法= "POST" > 
        {%csrf_token%} 
        < p個のスタイル= "テキストベース整列:センター」>用户:< 入力タイプ= "テキスト" 名前= "ユーザ名"  /> < BR /> 
        </ P > 
        < P スタイル= "テキスト整列:センター" >密码:<入力タイプ=「パスワード」名前= "パスワード"  /> < BR /> 
        < 入力タイプ= "提出" = "登录"  /> 

    </ 構成> 
</ ボディ> 
</ HTML >

裁判官の善悪アカウントのパスワード

直接死亡した無添加のデータベース、最初に書かれたアカウントのパスワードがあります。(フォローアップを最適化していきます)

view.py 

インポートリダイレクトモジュール、直接、要求されたページ から django.shortcuts インポートレンダリング、リダイレクト DEF Login2(要求を): IF request.method == ' POST ' ユーザ名 = request.POST.get(' ユーザ名' パスワード =リクエスト.POST.get(' パスワード' の分析アカウントのパスワード IFユーザ名== ' Anjing ' パスワード== ' 1234 ' 適切に静かなブログページ、または特定のページへの復帰に戻ったとき のリターンリダイレクト(https://www.cnblogs.com/qican/ それ以外#のパスワードが記述しないように間違っている パスを 返します(レンダリング要求、login2.htmlを"

URLの間に書かれた対応

urls.py 

から django.urls インポート経路
 から Anjing インポートビュー
 間の完全な対応関係 
urlpatternsを= [ 
    パス(' Login2 / ' 、views.login2)
]

Djangoのログインに成功した結果をデバッグする直接開始

私たちは、アカウントのパスワードが正しい入力した後に見ることができ、ブログの静かに直接ジャンプし、ログインに失敗した場合は、このページに滞在し続けます。

需要がこのGETはないか、間違ったアカウントのパスワードを使用してプロンプトのリターンを残してきましたか?上記、リターンフロントエンドのデータを考えると、我々はHTMLで重要なパラメータを定義することができ、その後、エラーが直接返されます

エラーパラメータを追加します。

前記  < Pのスタイル= "色:赤、テキスト整列=左:センター" > {{}} ERROR_MSG </ P >は  、プレゼンテーションコンテンツエラーを意味します

ここで、Djangoテンプレート言語フォーマット:  {{変数名}} 

login2.html 

<!DOCTYPE HTML > 
< HTML LANG = "EN" > 
< > 
    < メタ文字コード= "UTF-8" > 
    < タイトル>首页</ タイトル> 
</ ヘッド> 
< 身体> 
    < H1 > 
        < p個のスタイル= "テキスト整列:中央」フォントサイズ= "2" >欢迎来到安静的博客:</ P > 
    </ H1 > 
    <
        スタイル= "テキスト整列:センター" >请输出账号密码:</ P > 
    </ H1 > 
    < フォームアクション= "/ login2 /" 方法= "POST" > 
        {%csrf_token%} 
        < p個のスタイル= "テキストベース整列:センター」>用户:< 入力タイプ= "テキスト" 名前= "ユーザ名"  /> < BR /> 
        </ P > 
        < P スタイル= "テキスト整列:センター" >密码:<入力タイプ=「パスワード」名前= "パスワード"  /> < BR /> 
        < 入力タイプ= "提出" = "登录"  /> 
          < p個のスタイル= "色:赤、テキスト整列:センター" > {{ERROR_MSG}} </ P > 

    < / フォーム> 
</ ボディ> 
</ HTML >

ビューは、エラーの内容を追加する必要があります

views.py 

から django.shortcuts インポートレンダリング、リダイレクト

DEF Login2(要求):
    空のエラー定義 
    = ERROR_MSGを'' 
    IF request.method == ' POST ' 
        ユーザ名 = request.POST.get(' ユーザ名' 
        パスワード request.POST.get =(' パスワード' 分析アカウントのパスワードは、
        IFユーザ名== ' Anjing '  パスワード== ' 1234 ' 特定のページへの正しい静かなブログページへの復帰、またはリターン
            リターンリダイレクト(https://www.cnblogs.com/qican/ それ以外アカウントのパスワードが間違っ直接エラーの場合 
            ERROR_MSG = " ユーザー名またはパスワードが正しくありません。再入力してください' 
    を返すレンダリング(リクエスト、' login2.html '{ ' ERROR_MSG ":ERROR_MSG})

再起動Djangoは、ログインの失敗の影響を見るために

私は、私たちのニーズがすべて完了していることがわかりますあなたに書き込みます。

新しい知識

ここでは新しい知識ポイントの導入がリダイレクトモジュールであり、我々はまた、レンダリング、HttpResponseにフロントを使用しました。だから3との違いは何ですか?

1は、 HttpResponseのアプリケーションシナリオは:指定された文字列を返します。

2、アプリケーションシナリオをレンダリングするには:HTMLファイルを返します。

3、リダイレクトアプリケーションのシナリオ:特定のページにジャンプします

 

おすすめ

転載: www.cnblogs.com/qican/p/12455622.html