나는 Django 1.5에서 Generic Views와 그 종류를 혼란스럽게 사용하려고합니다. 지금까지는 views.py에서 함수를 사용했습니다. 함수 접근법에는 더 많은 상용구 코드가 있지만 동시에 개발자로서이를 제어 할 수 있다는 것에 동의합니다. 그럼에도 불구하고 학습을 위해서. 이 부분의 코드를 살펴 보자 :Django 1.5 : 일반보기를 사용하는 방법?
는if request.method == 'POST':
if 'invitation' in request.session:
invitation = Invitation.objects.get(id=request.session['invitation'])
profile = invitation.sender.get_profile()
form = RegistrationForm(request.POST, is_accept_invite = True, _email = invitation.email)
else:
form = RegistrationForm(request.POST)
if form.is_valid():
...
내가 그것을 이해하는 방법은, 일반적인보기는 세 가지 상태를 고려 : GET, POST -> 유효한, POST -> 무효().
그러나 위의 코드는 POST입니다 -> form.validation 전에 조건이 따라
이 내가 생각 해낸 일반보기 것 형태를 인스턴스화 : 내가 필요 가정
class RegisterView(FormView):
template_name = 'register.html'
form_class = RegisterForm
success_url = '/registration_successfull/'
def form_valid(self, form):
...
def form_invalid(self, form):
...
을 get_form(form_class)
또는 get_form_kwargs()
을 재정 의하여 내 request.session을 확인하고 이에 따라 RegistrationForm을 인스턴스화하십시오. 그 맞습니까? 어떤 방법으로 그 일을 할 수 있습니까? 나는 문서에 대한 예제를 찾을 수 없었다.
이것은 유망한 것으로 들립니다. 대답으로 받아들이 기 전에 이것을 시험해보기 위해 하루 만주세요. 많은 감사 – Houman