Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python form.is_valid()始终返回false_Python_Django_Django Forms - Fatal编程技术网

Python form.is_valid()始终返回false

Python form.is_valid()始终返回false,python,django,django-forms,Python,Django,Django Forms,我已经尝试了所有的解决方案,但都没有成功 view.py def signup(request): form = SignupForm(request.GET) print("%s"%request.GET['hobby']) form.errors #h=SignupForm(request.POST) if form.is_valid(): email = request.GET['email'] location

我已经尝试了所有的解决方案,但都没有成功

view.py

def signup(request):   
    form = SignupForm(request.GET)
    print("%s"%request.GET['hobby'])
    form.errors
    #h=SignupForm(request.POST)
    if form.is_valid():
        email = request.GET['email']
        location = request.GET['location']  users=User(username=username,email=email,password=request.GET['password'],location=location)
        user_profile = request.user.profile
        user_profile.location = location
        user_profile.save()        
        form.save()
        return HttpResponseRedirect('mtweet/')
    return render(request,'mtweet/signup.html',{'SignupForm':form})
class SignupForm(UserCreationForm):
    username=forms.CharField(label = " Username",required=True)
    email = forms.EmailField(label = "Email",required=True)
    password = forms.CharField(widget = forms.PasswordInput,required=True)
    location=forms.CharField(label="Location",required=False)
    class Meta:
        model = User
        fields = ("username", "email","location")
form.py

def signup(request):   
    form = SignupForm(request.GET)
    print("%s"%request.GET['hobby'])
    form.errors
    #h=SignupForm(request.POST)
    if form.is_valid():
        email = request.GET['email']
        location = request.GET['location']  users=User(username=username,email=email,password=request.GET['password'],location=location)
        user_profile = request.user.profile
        user_profile.location = location
        user_profile.save()        
        form.save()
        return HttpResponseRedirect('mtweet/')
    return render(request,'mtweet/signup.html',{'SignupForm':form})
class SignupForm(UserCreationForm):
    username=forms.CharField(label = " Username",required=True)
    email = forms.EmailField(label = "Email",required=True)
    password = forms.CharField(widget = forms.PasswordInput,required=True)
    location=forms.CharField(label="Location",required=False)
    class Meta:
        model = User
        fields = ("username", "email","location")
signup.html

<div id="register">
 <form method="post" action="{% url 'mtweet.views.signup' %}">
   {% csrf_token %}
   <table>
        {{ SignupForm.as_p}}
   </table>
   <input type="submit" value="Submit" />
 </form>
</div> 

{%csrf_令牌%}
{{SignupForm.as_p}}

您的代码有一些问题;让我试着重新写一下:

class SignupForm(forms.Form):
    username=forms.CharField(label = " Username",required=True)
    email = forms.EmailField(label = "Email",required=True)
    password = forms.CharField(widget=forms.PasswordInput,required=True)
    location=forms.CharField(label="Location",required=False)

def signup(request):   
    form = SignupForm(request.POST, request.FILES)
    if form.is_valid():
        email = form.cleaned_data['email']
        location = form.cleaned_data['location']
        password = form.cleaned_data['password']
        username = form.cleaned_data['username']
        user = User.objects.create_user(username, email, password)
        user.save()
        user_profile = user.profile
        user_profile.location = location
        user_profile.save()        
        return HttpResponseRedirect('mtweet/')
    else:
        return render(request,'mtweet/signup.html',{'SignupForm':form})
    return render(request,'mtweet/signup.html',{'SignupForm':SignupForm()})

请添加您的视图(模板)。signup.html{%csrf_token%}{{SignupForm.as_p}}}抱歉…..新加入,无法正确编辑无效时您看到了什么错误?您的表单正在以
POST
的形式提交,我看到您在源代码中注释掉了这一行:
\h=SignupForm(request.POST)
;如果您将其替换为
form=SignupForm(request.POST,request.FILES)
您是否仍然会收到相同的错误?但我仍然有相同的问题……is\u valid()总是返回false。。。。。。