Pythonのテスト開発 - モーダルボックスを作成し、データを保存します

Pythonのテスト開発 - モーダルボックスを作成し、データを保存します

 

モーダルボックスとは何ですか?

     モードは、親フォームのサブフォームの上に重ねたフレームを指します。インタラクティブに使用することができ、我々は最終的には、多くの場合、ログオンするために使用モーダルボックスを参照してください、というように判断するには、このポップアップの効果を達成する方法で、ブートストラップは、私たちのために対応するコンポーネントを提供してきました。

 

1、インターフェイスプロトタイプ

    モーダルボックスを開き、[追加]をクリックし、

    テスター、メッセージ:こんにちは、ユーザーを入力してください。下の図1:

▲1

    [保存]をクリックし、次にデータベースがリストのユーザインタフェースを表示するために、上記入力されたデータに格納され、図2に示すように、試験装置を示します。

図2▲

 

 

2、開発プロセス

次に、上記の例では、ステップバイステップでは、コードを書くことを教えます。

 

 

まず、その上良いPython環境--python3、django2、mysqlの、pycharmを構築し、。

 

 Pythonのデータモデルmodels.py、データを格納するデータベーステーブルを作成します

clasTest(models.Model):
    名前= models.CharField( '名称'、MAX_LENGTH = 200)
    メッセージ= models.CharField( '消息'、MAX_LENGTH = 200)
    デフ__str __(自己):
        戻りself.name

 

2つのロジックのpythonビューview.py、ユーザのリストを表示するためのテスト機能は、SaveDataを保存機能は、データブロックが保存モードをクリックして起動するために使用されます。

DEF試験(リクエスト):
    ユーザー= Test.objects.all()

リターンレンダリング(リクエスト、 'test.htmlという'、{ "ユーザー":ユーザー})

 

DEF SaveDataを(要求):
    もしrequest.method == "POST":
        名= request.POST.get( '名前'、 '')
        メッセージ= request.POST.get( 'メッセージ'、 '')
        test_info =テスト(名前=名前、メッセージ=メッセージ)
        test_info.save()
        の戻りはHttpResponse( '成功を救います!')

 

相関関数とページのための3つのpythonリンクurl.py、

経路( 'テスト/'、app_uitest_views.test)、
パス( 'SaveDataを/'、app_uitest_views.savedata)

 

四フロントエンドテンプレートページtest.htmlというは、フロントエンドは、ユーザのリストを表示し、jsはモーダルボックスをトリガし、データを保存します

<!DOCTYPE HTML>
<HTML LANG = "ZH-CN">
<HEAD>
 <メタのcharset = "UTF-8">
 <META HTTP-当量= "X-UA-互換性のある"コンテンツ= "IE =エッジ">
 <メタ名= "ビューポート"コンテンツ= "幅=装置幅、初期の規模= 1">
 <タイトル>ブートストラップモーダル</ TITLE>
 <リンクのrel = "スタイルシート"のhref = "http://cdn.bootcss.com /bootstrap/3.3.5/css/bootstrap.min.css ">
</ HEAD>
<BODY>

<DIV CLASS ="パネルパネル-デフォルト">
<DIV CLASS ="パネルの見出し">用户列表</ div>
 <DIV CLASS =「パネル体」>
  <ボタンタイプ=「ボタン」クラス=「リスト基項目」データトグル=」モーダル」データターゲット= "#exampleModal">添加</ボタン>
  <DIV CLASS = "リスト基"役割= "グループ" ARIAラベル= "用户列表">
      {ユーザ%におけるユーザの%}
          <ボタンタイプ= "ボタン"クラス= "リスト基項目"データトグル= "モーダル"データターゲット= "#exampleModal"> {{user.name}} </ボタン>
      {%ENDFOR%}
  </ DIV>
 </ DIV>
</ DIV>


<DIV CLASS = "モーダルフェード" ID = "exampleModal" でtabindex = " - 1" ロール= "ダイアログ" ARIA-labelledbyの= "exampleModalLabel">


 <DIV CLASS = "モーダルダイアログ"ロール= "文書"スタイル= "幅:680px;">
  <DIV CLASS = "モーダル・コンテンツ">


   <DIV CLASS = "モーダル体">
        <divのスタイル= "高さ:300ピクセル、オーバーフロー:自動;">
           で<br>
            <Pスタイル= "整列:センター">
                用户<入力スタイル= "整列:センター"タイプ= "テキスト"名前= "名前" ID = "名前"必要= "必須" /> </ P>
            <BR>
            <Pスタイル= "整列:センター">
                消息<入力スタイル= "整列:センター"必要なタイプ= "テキスト"名前= "メッセージ" ID = "メッセージ" = "必須" /> </ P>
            <BR>
        </ DIV>
   </ DIV>

   <DIV CLASS =」モーダル・フッタ」>
    <ボタンタイプ= "ボタン"クラス= "BTN BTN-デフォルト" = "モーダル"データ・却下>关闭</ button>を
    <ボタンタイプ= "ボタン"クラス= "BTN BTNプライマリ"データ却下= "モーダル"のhref = "javascriptの:無効(0)"のonclick = "SaveDataを()">保存</ボタン>
   </ div>

  < / DIV>
 </ DIV>
</ div>

<スクリプトSRC = "http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"> </ SCRIPT>
<スクリプトSRC = "のhttp: //cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js "> </ SCRIPT>

  ます。<script type =" text / javascriptの">
        関数SaveDataを(){
            VAR名= $( '#名「).val();
            。VARメッセージは= $( '#メッセージ')のval();
            $アヤックス({
                URL: "/ SaveDataを/"、


                contentType:「アプリケーション/ x-www-form-urlencodedで。charset = UTF-8' 、
                タイプ: "POST"、
                成功:関数(結果){
                  //はconsole.log()。
                }、
                失敗:関数(結果){
                    デバッガ
                }
            })。
        }
   </ SCRIPT>

</ body>
</ HTML>

 

 


キーコードの概要のフロントエンドは、以下の

(赤いマークされたコードは、ボタン、フィールド、モーダルボックスID、機能間の関連付けを表すことに留意されたいです)

 

1モーダルボックスを作成します。

<ボタンタイプ=「ボタン」クラス=「リスト基項目」データトグル=「モーダル」データターゲット=「#exampleModal」>添加</ボタン>

2モーダルボックスの内容:

<DIV CLASS = "モーダルフェード" ID = "exampleModal" でtabindex = " - 1" ロール= "ダイアログ" ARIA-labelledbyの= "exampleModalLabel"> 

用户<inputstyle = "整列:中央" 必須TYPE = "text" の名= "名前" ID = "名" = "必要" /> </ P>

消息<入力スタイル= "整列:中央" 必須TYPE = "text" の名= "メッセージ" ID = "メッセージ" = "必須" /> </ P>

<ボタンタイプ= "ボタン" クラス= "BTN BTN-デフォルト" = "モーダル" データ・却下>关闭</ button>を

<ボタンタイプ= "ボタン" クラス= "BTN BTNプライマリ" データ却下= HREF "モーダル" = "ジャバスクリプト:ボイド(0)" のonclick = "SaveDataを()">保存</ボタン>

3つのJsとJSの機能:

<リンクのrel = "スタイルシート" のhref = "http://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">

<のscriptsrc = "http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"> </ SCRIPT>

<のscriptsrc = "http://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"> </ SCRIPT>

関数SaveDataを()

{

           。VAR名= $( '#名')のval();

           。VARメッセージは= $( '#メッセージ')のval();

           $アヤックス({

                URL: "/ SaveDataを/"、

                データ: "名前=" +名+ "&メッセージ=" +メッセージ、

                ヘッダー:{ 'X-CSRFToken': '{{csrf_token}}} // CSRF

                contentType:「アプリケーション/ x-www-form-urlencodedで。文字セット= UTF-8' 、

                タイプ: "POST"、

                成功:機能(結果){

                 //にconsole.log();

                }、

                失敗:関数(結果){

                    デバッガ

                }

           });

       }

 

3、終了

おすすめ

転載: www.cnblogs.com/finer/p/11330633.html