Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.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 Django表单获取GET请求而不是POST请求_Python_Django_Django Forms_Visual Web Developer - Fatal编程技术网

Python Django表单获取GET请求而不是POST请求

Python Django表单获取GET请求而不是POST请求,python,django,django-forms,visual-web-developer,Python,Django,Django Forms,Visual Web Developer,在此之前,此代码正在发送post请求。重新启动服务器后,它突然开始发送get。 若我从互联网上获取一些表格的工作邮政编码,然后继续尝试并删除,那个么我的代码就会开始发送邮政请求。但在我放置原始代码一段时间后,这将开始发送get请求而不是post请求 用户\注册\表单.html views.py 我不确定这是否是问题所在,但试着把标签放在标签内,这样不行。我想用csrf标记显示表单,正如本文()中所说的,为了对表单进行操作,您应该在表单中包含输入标记,或者编写一些javascript来正确提交表单

在此之前,此代码正在发送post请求。重新启动服务器后,它突然开始发送get。 若我从互联网上获取一些表格的工作邮政编码,然后继续尝试并删除,那个么我的代码就会开始发送邮政请求。但在我放置原始代码一段时间后,这将开始发送get请求而不是post请求

用户\注册\表单.html views.py
我不确定这是否是问题所在,但试着把标签放在标签内,这样不行。我想用csrf标记显示表单,正如本文()中所说的,为了对表单进行操作,您应该在表单中包含输入标记,或者编写一些javascript来正确提交表单
<form method="post">
    {% csrf_token %}
    {{ form }}
</form>
<input type="submit" value="Register">
from django.forms import ModelForm
from django import forms
from .models import StudentData
class StudentRegister(ModelForm):
    class Meta:
        model = StudentData
        fields = "__all__"
        widgets = {'password': forms.PasswordInput(),
                   'rpassword': forms.PasswordInput()}
    def clean(self):
        cleaned_data = super().clean()
        password, rpassword = cleaned_data.get('password'), cleaned_data.get('rpassword')
        if password != rpassword:
            error_msg = "Both passwords must match"
            self.add_error('rpassword', error_msg)
from django.shortcuts import render
from .forms import StudentRegister
from django.contrib import messages
def login_register(request):
    return render(request, 'users/login_register.html')
def guest_register(request):
    return render(request, 'users/guest_register.html')
def student_data(request):
    if request.method == 'POST':
        print('post')
        form = StudentRegister(request.POST)
        if form.is_valid():
            print('valid form')
            form.save()
            messages.success(request, f"You are registered successfully, {form.cleaned_data.get('name')}")
            return render(request, "<h3>Registration done</h3>")
    else:
        print('get')
        form = StudentRegister()
    return render(request, 'users/user_registration_form.html', {'form': form})
from django.db import models
from django.core.validators import MaxLengthValidator
class StudentData(models.Model):
    name = models.CharField(max_length=100)
    room_no = models.CharField(max_length=4)
    email = models.EmailField()
    mobile = models.CharField(max_length=10)
    password = models.CharField(max_length=20)
    rpassword = models.CharField(max_length=20)
    def __str__(self):
        return f'{self.name} data'