ModelFormを使うことでよりスムーズにレコードの保存を行うことができる
/hello/forms.py
from django import forms from.models import Friend class FriendForm(forms.ModelForm): class Meta: model = Friend fields = ['name','mail','gender','age','birthday']
/hello/views.py
def create(request): if(request.method == 'POST'): obj = Friend() friend = FriendForm(request.POST, instance=obj) friend.save() return redirect(to='/hello') params = { 'title': 'Hello', 'form': HelloForm(), } return render(request, 'hello/create.html', params)
– obj = Friend()でインスタンスを作成し、FriendForm(request.POST, instance=obj)インスタンスを作成する
/hello/templates/hello/create.html
<body class="container"> <h1 class="display-4 text-primary">{{title}}</h1> <form action="{% url 'create' %}" method="post"> {% csrf_token %} <table class="table"> {{ form.as_table }} <tr> <td></td> <td><input type="submit" value="click" class="btn btn-primary mt-2"></td> </tr> </table> </form> </body>
先が長いな。