libro
www.tuyano.com
初心者のためのDjango 2.0入門

CRUDをマスターしよう (3/6)

作成:2018-01-21 09:27
更新:2018-01-21 09:27

■indexアクション関数を作成する

続いて、indexアクションの処理です。hello/views.pyを開き、下のリスト欄のように修正しておきましょう。

ここでは、if request.method == 'POST': でPOST送信されたかどうかをチェックし、POST送信の場合は、送信されたフォームの値を元に新しいレコードを作成しています。
name_str = request.POST['name']
mail_str = request.POST['mail']
age_int = request.POST['age']

送られたフォームの値を変数に取り出しておきます。そして、Personクラスのインスタンスを作成し、保存をします。
obj = Person(name=name_str, mail=mail_str, age=age_int)
obj.save()

やっていることは、たったこれだけです。実に単純ですね。Personの引数で、それぞれのプロパティ名を指定して値を用意する、というのがポイントです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

from django.shortcuts import render
from django.http import HttpResponse
from datetime import datetime
from .models import Person
def index(request):
    if request.method == 'POST':
        name_str = request.POST['name']
        mail_str = request.POST['mail']
        age_int = request.POST['age']
        obj = Person(name=name_str, mail=mail_str, age=age_int)
        obj.save()
    else:
        obj = Person()
    data = Person.objects.all()
    name_str = ''
    context = {
        'current': obj,
        'msg': 'Personのリスト',
        'data': data,
    }
    return render(request, 'hello/index.html', context)

※関連コンテンツ

「初心者のためのDjango 2.0入門」に戻る