# html에서 사용할 때
<form action="" method="">
<label for="title">제목</label>
<input type="text" id="title" name="title">
<label for="content">내용</label>
<textarea id="content" name="content" cols=10 rows=10>
</form>from django.db import models
class Article(models.Model):
title = models.CharField(max_length=50)
content = modles.TextField()
def __str__(self):
return self.titlefrom django import forms
from .models import Article
# 위 models.py에서 Article 모델을 참조하도록 설정한다.
class ArticleForm(forms.ModelForm):
class Meta:
model = Article
fields = ['title', 'content'] # 사용할 모델의 필드 지정
# 모든 필드를 사용하고 싶다면
# fields = "__all__"# html에서 모델폼 사용
<form action="" method="">
{{ form.as_p }}
</form># view.py 에서
def create(request):
form = ArticleForm(request.POST)
if form.is_valid():
article = form.save()
return redirect('detail', article.pk)
# html form을 사용하는 경우 코드
# title = request.POST.get("title")
# content = request.POST.get("content")
# article = Article.objects.create(title=title, content=content)
# return redirect("detail", article.pk)