1.
views.py에 class기반의 CreateView 만들어주기
•
구조 보는 단축키 ctrl + B
•
import를 위한 단축키 alt + enter
# Create your views here.
from django.urls import reverse, reverse_lazy
from django.views.generic import CreateView
class AccountCreateView(CreateView):
# User라는 장고에서 기본적으로 사용하는 model사용
model = User
# form 지정
form_class = UserCreationForm
# 연결 성공시 이동하는 페이지 지정
# reverse는 그대로 class에서 사용할 수 없기때문에, class형 view에서는 reverse_lazy
# reverse는 function형 view에서 사용
success_url = reverse_lazy('accountapp:hello_world')
template_name = 'accountapp/create.html'
Python
복사
2.
urls.py의 url_pattern부분에 우리가 만든 createview를 인식할 수 있게 추가해준다.
# class view에서는 as_view()를 사용해서 함수형 처럼 받아준다.
path('create/', AccountCreateView.as_view(), name='create')
Python
복사
3.
./accountapp/templates/accountapp/create.html파일 생성
{% extends 'base.html' %}
{% block content %}
<div style="text-align: center">
<form action="{% url 'accountapp:create' %}" method="post">
{% csrf_token %}
<!-- 우리가 지정한 form 파일을 그대로 받아와준다. -->
{{ form }}
<input type = "submit" class = "btn btn-primary">
</form>
</div>
{% endblock %}
HTML
복사