2016-07-06 1 views
-4

151 번 라인의 HttpResponse에이 문제가 있습니다. 어떻게되는지는 잘 모릅니다. 도움이 필요합니다. 나는 오류가 views.py에 있지만 내가 튜토리얼 도서에 동일한 코드를 입력하면 오류가 어디 있는지 모르겠다 생각합니다.Django "뷰에서 151 행의 HttpResponse 객체를 반환하지 않았습니다."

내가이 프로젝트를 시작할 때만 lisen을 사용하는 방법 장고는 내가 튜토리얼을 읽고 책에서 같은 코드를 입력하면 도움이된다.

이것은 내 장고 코드입니다.

models.py

from django import forms 
from django.contrib.auth.models import User 

class RegistroUserForm(forms.Form): 
    username = forms.CharField(min_length=5,widget=forms.TextInput(attrs={'class':'form-control'})) 
    email = forms.EmailField(widget=forms.EmailInput(attrs={'class':'form-control'})) 
    password = forms.CharField(min_length=5, widget=forms.PasswordInput(attrs={'class':'form-control'})) 
    password2 = forms.CharField(widget = forms.PasswordInput(attrs={'class':'form-control'})) 
    photo = forms.ImageField(required=False) 

def clean_username(self): 
    username = self.cleaned_data['username'] 
    if User.objects.filter(username = username): 
     raise forms.ValidationError("Nombre de usuario ya registrado!") 
    return username 

def clean_email(self): 
    email = self.cleaned_data['email'] 
    if User.objects.filter(email = email): 
     raise forms.ValidationError("Ya existe un email Igual en la db!") 
    return email 

def clean_password2(self): 
    password = self.cleaned_data['password'] 
    password2 = self.cleaned_data['password2'] 
    if password != password2: 
     raise forms.ValidationError("Las contraseñas no coinciden") 
    return password2 

views.py

from django.shortcuts import render 
from django.contrib.auth.models import User 
from django.shortcuts import redirect 
from django.core.urlresolvers import reverse 
from .forms import RegistroUserForm 
from .models import UserProfile 

def registro_usuario_view(request): 
    if request.method == 'POST': 
     form = RegistroUserForm(request.POST,request.FILES) 
     if form.is_valid(): 
      cleaned_data = form.cleaned_data #cleaned_data obtiene los datos limpios y los pone en un diccionario 
     # con pares clave/valor , donde la clave es el nombre del campo cleaned_data.get("username") "ejemplo" 
     #y el formulario es el ya ingresado 
      username = cleaned_data.get("username") 
      password = cleaned_data.get("password") 
      email = cleaned_data.get("email") 
      photo = cleaned_data.get("photo") 
      user_model = User.objects.create_user(username=username,password=password) 
      user_model.email = email 
      user_model.save() 
      user_profile = UserProfile() 
      user_profile.user = user_model 
      user_profile.photo = photo 
      user_profile.save() 
      return redirect(reverse('accounts.gracias',kwargs={'username':username})) 

    else: 
     form = RegistroUserForm() 
     context = { 
    'form': form 
    } 
     return render(request, 'accounts/registro.html', context) 

def gracias_view(request, username): 
    return render(request, "accounts/gracias.html", {'username':username}) 

forms.py

from django.db import models 
from django.conf import settings 

class UserProfile(models.Model): 
    user = models.OneToOneField(settings.AUTH_USER_MODEL) 
    photo = models.ImageField(upload_to="profiles", blank=True,null=True) 

    def __str__(self): 
     return self.user.username 

내가 장고에 초보자 나에게 때

+1

어떤 라인이 "라인 151"입니까? – raphv

+0

오류가 무엇인지 저희에게 알려주십시오. 귀하가 지금까지 시도하고 연구 한 바에 따르면 – Sayse

답변

1

조건을 도와주세요입니다 양식이 잘못되었습니다. 처리되지 않습니다. 이것을 시도해 볼 수 있습니까? 나는 마지막 두 줄을 다른 블록에서 옮겼습니다.

def registro_usuario_view(request): 
    if request.method == 'POST': 
     form = RegistroUserForm(request.POST,request.FILES) 
     if form.is_valid(): 
      cleaned_data = form.cleaned_data #cleaned_data obtiene los datos limpios y los pone en un diccionario 
     # con pares clave/valor , donde la clave es el nombre del campo cleaned_data.get("username") "ejemplo" 
     #y el formulario es el ya ingresado 
      username = cleaned_data.get("username") 
      password = cleaned_data.get("password") 
      email = cleaned_data.get("email") 
      photo = cleaned_data.get("photo") 
      user_model = User.objects.create_user(username=username,password=password) 
      user_model.email = email 
      user_model.save() 
      user_profile = UserProfile() 
      user_profile.user = user_model 
      user_profile.photo = photo 
      user_profile.save() 
      return redirect(reverse('accounts.gracias',kwargs={'username':username})) 

    else: 
     form = RegistroUserForm() 
    context = { 
    'form': form 
    } 
    return render(request, 'accounts/registro.html', context) 
관련 문제