パイソン - ジャンゴ - 登録ページを変更するブートストラップスタイルを使用して

REG2機能:

django.shortcutsからのHttpResponse、レンダリングインポート
app01輸入モデルから


:REG2(要求を)DEF 
    form_obj = RegForm()#GET请求

    request.method場合== "POST":
        form_obj = RegForm(request.POST)
        form_obj.is_valid場合() :
            パスの
    リターン(要求、 "reg2.html"、{:form_obj "form_objを"})レンダリング

フォームのスタイル、HTTPSブートストラップ上を探す://v3.bootcss.com/css/#formsを

 

フォーム・グループのスタイルを使用してタグラベルで

 

reg2.html:

<!DOCTYPE HTML> 
<HTML LANG = "EN"> 
<HEAD> 
    <メタ文字コード= "UTF-8"> 
    <タイトル>注册页面</ TITLE> 
    <リンクのrel = "スタイルシート"のhref = "/静的/ストラップ/ / bootstrap.min.css CSS "> 
</ head> 
<body> 

<DIV CLASS ="コンテナ"> 
    <フォームアクション=" / REG2 / "METHOD = "POST" NOVALIDATE> 
        {%csrf_token%} 
        <DIV CLASS ="フォームグループ"> 
            {{form_obj.username.label}} 
            、{{form_obj.username}} 
            <スパン> {{form_obj.username.errors.0}} </スパン> 
        </ div> 
        <DIV CLASS ="フォームグループ"> 
            {{form_obj.password.label}} 
            、{{}} form_obj.password
            <スパン> {{form_obj.password.errors.0}} </スパン>
        </ div> 
        <P>の<input type = "送信"> </ P> 
    </フォーム> 
</ div> 

</ body> 
</ HTML>

フォームコントロールのスタイルを持つinputタグで

 

このスタイルの形で使用Views.pyタイプは、ウィジェットを追加します

Djangoのインポートフォームから
django.formsからインポートウィジェット


クラスRegForm(forms.Form):
    ユーザ名= forms.CharField(
        MIN_LENGTH = 5、
        ラベル= "用户名"、
        error_messages = { 
            "MIN_LENGTH":「用户名不能少于5位! " 
        }、
        ウィジェット= widgets.TextInput(ATTRS = { "クラス": "フォームコントロール"}) 

    パスワード= forms.CharField(
        MIN_LENGTH = 6、
        ラベル= "密码"、
        error_messagesは= { 
            "MIN_LENGTH":"密码不能少于6位「、!
        }、
        ウィジェット= widgets.PasswordInput(ATTRS = { "クラス": "フォームコントロール"}、render_value =真) 

BTNのBTN-デフォルトスタイルのボタンを使用して

 

index.htmlのように直接追加

<!DOCTYPE HTML> <!DOCTYPE HTML> 
<HTML LANG = "EN"> 
<HTML LANG = "EN"> 
<HEAD> 
<HEAD> 
    <メタ文字コード= "UTF-8"> 
    <メタ文字コード= "UTF-8"> 
    <タイトル>注册页面</ TITLE> 
    <タイトル>注册页面</ TITLE> 
    <リンクのrel = "スタイルシート"のhref = "/静的/ストラップ/ / bootstrap.min.css CSS "> 
    <リンクのrel = "スタイルシート"のhref = "/静的/ストラップ/ / bootstrap.min.css CSS "> 
</ head> 
</ head> 
<body> 
<body> 
<DIV CLASS ="コンテナ"> 
    <フォームアクション=" / REG2 / "METHOD = "POST" NOVALIDATE> 
        {%csrf_token%} 
        <DIV CLASS ="フォームグループ"> 
            {{form_obj.username.label}} 
            、{{form_obj.username}} 
            <スパン> {{form_obj.username.errors.0}} </スパン> 
        </ div> 
        <DIV CLASS ="フォームグループ"> 
            {{form_obj.password.label}} 
            、{{}} form_obj.password

<DIV CLASS ="コンテナ"> 
    <フォームアクション=" / REG2 / "METHOD = "POST" NOVALIDATE> 
        {%csrf_token%} 
        <DIV CLASS ="フォームグループ"> 
            {{form_obj.username.label}} 
            、{{form_obj.username}} 
            <スパン> {{form_obj.username.errors.0}} </スパン> 
        </ div> 
        <DIV CLASS ="フォームグループ"> 
            {{form_obj.password.label}} 
            <スパン> {{form_obj.password.errors.0}} </スパン>
        </ div> 
        <P>の<input type = "提出"クラス= "BTN BTN-デフォルト"> </ P> 
    </ FORM> 
</ div> 

</ BODY> 
</ HTML>

結果:

 

入力が長すぎるとき、それは中間にレイアウト

index.htmlを:

<!DOCTYPE HTML> 
<HTML LANG = "EN"> 
<HEAD> 
    <メタ文字コード= "UTF-8"> 
    <タイトル>注册页面</ TITLE> 
    <リンクのrel = "スタイルシート"のhref = "/静的/ストラップ/ CSS / bootstrap.min.css "> 
</ head> 
<body> 

<DIV CLASS ="コンテナ"> 
    <DIV CLASS ="行"> 
        <DIV CLASS =" COL-MD-6 COL-MD-オフセット-3" > 
            <FORM ACTION = "/ REG2 /" METHOD = "POST" NOVALIDATE> 
                {%csrf_token%} 
                <DIVクラスは= "フォームグループ"> 
                    {{form_obj.username.label}} 
                    、{{form_obj。ユーザ名}} 
                    <スパン> {{form_obj.username.errors.0}} </スパン> 
                </ div>
                <DIV CLASS = "フォームグループ"> 
                    {{form_obj.password.label}} 
                    、{{form_obj.password}} 
                    <スパン> {{form_obj.password.errors.0}} </スパン> 
                </ div> 
                <P >の<input type = "提出"クラス= "BTN BTN-デフォルト"> </ P> 
            </ FORM> 
        </ div> 
    </ div> 
</ div> 

</ BODY> 
</ HTML>

3つのコピーは、中央が6を占め、残りの3つの部分の右側を空のままに

結果:

 

タイピング、クリックして「送信」

 

ヘルプ・ブロックのスタイルを使用することができますエラー

 

reg2.html:

<!DOCTYPE HTML> 
<HTML LANG = "EN"> 
<HEAD> 
    <メタ文字コード= "UTF-8"> 
    <タイトル>注册页面</ TITLE> 
    <リンクのrel = "スタイルシート"のhref = "/静的/ストラップ/ CSS / bootstrap.min.css "> 
</ head> 
<body> 

<DIV CLASS ="コンテナ"> 
    <DIV CLASS ="行"> 
        <DIV CLASS =" COL-MD-6 COL-MD-オフセット-3" > 
            <フォームアクション= "/ REG2 /"方法は= "POST" NOVALIDATE> 
                {%csrf_token%} 
                <DIVクラスは= "フォーム基{%form_obj.username.errors.0場合%} has_error {%ENDIF%}"> 
                    {{form_obj.username。 
                </ div>ラベル}} 
                    、{{}} form_obj.username
                    <スパンクラス= "ヘルプブロック"> {{form_obj.username.errors.0}} </ span>を
                <DIV CLASS = "フォーム基{%form_obj.password.errors.0%があれば} {%ENDIF%}エラーを有する"> 
                    {{form_obj.password.label}} 
                    、{{form_obj.password}} 
                    <スパンクラス= "ヘルプブロック"> {{form_obj.password.errors.0}} </スパン> 
                </ div> 
                <P> <INPUT TYPE = "提出"クラス= "BTN BTNデフォルト"> </ P> 
            </フォーム> 
        </ div> 
    </ div> 
</ div> 

</ BODY> 
</ HTML>

結果:

 

おすすめ

転載: www.cnblogs.com/sch01ar/p/11478529.html