データベースアクセスを行う (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>
※関連コンテンツ