반응형
#Form -> model 형식에 맞는 입력 공간 (html form 의 한계성) / Django 기능 활용 (form 만들기 = model 만들기와 유사)
-form.py: html에서 보여지는 form / -models.py : DB
1.blog app / forms.py(생성)
# Blog class를 기반으로 만들 것이기 때문에 blog 안에 form.py 생성/ models.py있으니까 from django import forms from .models import Blog # 모델기반이 아니면 forms.Form class BlogPost(forms.ModelForm): class Meta: #어떤 모델을 기반으로 한 입력공간, 그 모델 중에 어떤 항목 입력? model = Blog fields = ['title', 'body'] | cs |
2.blog app/urls.py
1 | path('newblog/', views.blogpost, name='newblog'), | cs |
3.blog app/views.py
from .forms import BlogPost def blogpost(request): # 1. 입력된 내용 처리 : POST if request.method == 'POST': form = BlogPost(request.POST) if form.is_valid(): #적절한 값이 잘 입력되었는지 확인 // 입력값이 형식에 맞게 입력되었으면 true ,문제가 있다면 false 반환. post = form.save(commit=False) #일단 저장하지 말고 form객체 말고 model 객체 접근 post.pub_date = timezone.now() post.save() return redirect('home') # 2. 빈 페이지 띄워주는 기능 : GET #new.html에 빈 페이지 띄우기 else: form = BlogPost() return render(request, 'new.html', {'form': form}) | cs |
4.blogapp/templates/new.html
반응형
'Web > Django' 카테고리의 다른 글
[Django_심화]2 - Rest, Serializer (0) | 2019.11.03 |
---|---|
[Django_심화]1 - 준비운동 (0) | 2019.11.02 |
[5.5주차]Faker (0) | 2019.03.05 |
[5주차]2.Pagination (0) | 2019.03.05 |
[5주차]1.로그인,회원가입 (0) | 2019.03.05 |