フロントエンドコード
<HTML> <タイトル> TODOリスト</ TITLE> <身体> <H1>のHello World </ H1> <フォームメソッド=「ポスト」> <入力名=「ITEM_TEXTが」ID =「id_new_itemが」プレースホルダ=「へタスク項目を入力してください」/> {%csrf_token%} </フォーム> <テーブルID = "id_list_table"> <TR> <TD> {{new_item_text}} </ TD> </ TR> </ TABLE> </ BODY> </ HTML>
簡単に言えば、それは、提出されたデータを埋めるために、テキストボックスに返しますテーブルにデータを達成することです
主な機能テストコード
入力= self.browser.find_element_by_id( "id_new_item") self.assertEqual( input.get_attribute(「プレースホルダ」)、#がでプロパティ値を取得します 「に-Do項目を入力します」 ) input.send_keys(「購入」)#フィルテキストボックス input.send_keys(Keys.ENTER)#回车 time.sleep(1) 表= self.browser.find_element_by_xpath( '// * [@ ID = "id_list_table"] / TBODY / TR / TD [1]') self.assertEqual(table.text、 '購入') 事前にテストのself.fail(「完了検査」)#エンド
メインコードのユニットテストtests.py
デフtest_can_save_a_POST_request(自己):#ポスト要求応答テスト、データが返された場合、テキストボックス 応答= self.client.post( '/'、データ= { 'ITEM_TEXT': '新しいリストアイテム'}) self.assertIn( '新しいリスト項目'、response.content.decode()) self.assertTemplateUsed(応答、「home.html」)#レンダリングされたテンプレートに同じ応答するかどうかを検出します
表示views.py
django.httpインポートからのHttpResponse django.shortcutsインポートからのレンダリング デフhome_page(リクエスト): データ= {} request.POST場合: データ[ "new_item_text"] = request.POST [ 'ITEM_TEXT'] レンダリングリターン(要求、 'home.html' を、データ) #ここにあなたの意見を作成します。