データベースアクセスを行う (5/5)
作成:2018-01-06 08:10
更新:2018-01-06 08:10
更新:2018-01-06 08:10
■index.htmlを修正する
では、indexアクションで使うテンプレートを修正しましょう。「hello」内の「templates」内にある「hello」フォルダから、index.htmlを開いて下のリスト欄のように修正して下さい。
修正ができたら、/helloにアクセスしてみましょう。nameの入力フィールドがあり、その下に全レコードが表示されています。nameフィールドに名前を記入して送信すれば、その名前のレコードだけが検索され表示されます。
ここでは、以下のようなフォームを用意してあります。
これで、/helloにそのままPOST送信されるようになります。index関数でその処理が用意されていましたね。フォームに用意されているのは以下のようなフィールド1つだけです。
nameという名前にしてあります。これが送信され、index関数で request.POST['name'] として取り出されていたのですね。また、送信した値はそのままindex側からcurrent_nameという値として渡されており、それが value="{{current_name}}" としてvalueに設定され表示されるようにしてあります。
とりあえず、これでごく初歩的な検索はできるようになりました!
修正ができたら、/helloにアクセスしてみましょう。nameの入力フィールドがあり、その下に全レコードが表示されています。nameフィールドに名前を記入して送信すれば、その名前のレコードだけが検索され表示されます。
ここでは、以下のようなフォームを用意してあります。
<form action="/hello/" method="post">
これで、/helloにそのままPOST送信されるようになります。index関数でその処理が用意されていましたね。フォームに用意されているのは以下のようなフィールド1つだけです。
<input id="name" type="text" name="name" value="{{current_name}}">
nameという名前にしてあります。これが送信され、index関数で request.POST['name'] として取り出されていたのですね。また、送信した値はそのままindex側からcurrent_nameという値として渡されており、それが value="{{current_name}}" としてvalueに設定され表示されるようにしてあります。
とりあえず、これでごく初歩的な検索はできるようになりました!
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
{% load static %} <html lang="ja"> <head> <meta charset="utf-8"> <title>hello/index</title> <link rel="stylesheet" type="text/css" href="{% static 'hello/style.css' %}" /> </head> <body> <h1>hello/index</h1> <p>{{msg}}</p> <form action="/hello/" method="post"> {% csrf_token %} <label for="name">name: </label> <input id="name" type="text" name="name" value="{{current_name}}"> <input type="submit" value="OK"> </form> <table width="90%"> <tr><th>name</th><th>mail</th><th>age</th><th>publish date</th></tr> {% for obj in data %} <tr> <td>{{ obj.name }}</td> <td>{{ obj.mail }}</td> <td>{{ obj.age }}</td> <td>{{ obj.pub_date }}</td> </tr> {% endfor %} </table> </body> </html>
※関連コンテンツ