2013-06-11 2 views
0

Я следил за учебником, пытающимся создать регистрационную форму. Несмотря на то, что человек, записывающий его, смог создать форму, в которой я не видел, чтобы кто-нибудь видел ошибки в моем коде? Представление не возвратило объект HttpResponse.Вид не возвращал объект HttpResponse

from django.template import RequestContext 
from django.http import HttpResponseRedirect 
from django.shortcuts import render_to_response 
from django.contrib import auth 
from django.core.context_processors import csrf 
from django.contrib.auth.forms import UserCreationForm 

def registerit(request): 
    if request.method == 'POST': 
     form = UserCreationForm(request.POST) 
     if form.is_valid(): 
      form.save() 
     return HttpResponseRedirect('/accounts/register_success') 
     args = {'form3':UserCreationForm()} 
     args.update(csrf(request)) 
     return render_to_response('register.html', args) 

Благодарим за помощь.

+0

Пожалуйста, предоставьте полную информацию об ошибке, которую вы получаете. Было бы полезно отслеживать причину вашей ошибки. Просто ради этого Имеет ли url "/ accounts/register_success" и соответствует ли для просмотра? –

ответ

1

Вы возвращаете HttpResponse объект только если if request.method == 'POST':

Но если метод запроса __not POST, вы ничего не возвращается. Вероятно, вам нужно отложить код на один уровень слева.

def registerit(request): 
    if request.method == 'POST': 
     form = UserCreationForm(request.POST) 
     if form.is_valid(): 
      form.save() 
     return HttpResponseRedirect('/accounts/register_success') 
    args = {'form3':UserCreationForm()} 
    args.update(csrf(request)) 
    return render_to_response('register.html', args) 
+0

Я не думаю, что там лежит ошибка. Он обязательно должен отправить запрос на отправку. –

+0

Я так не думаю. При первом обращении к URL-адресу это будет запрос GET. Не POST. – karthikr

+0

Да, он отправляет, но когда он впервые попадает на страницу, он использует GET not POST. Вот почему этот ответ прав. – Silwest

Смежные вопросы