Python 在django中提交表单时POST方法不起作用

Python 在django中提交表单时POST方法不起作用,python,django,Python,Django,我使用django中的表单模块创建了反馈表单。我编写了用于打印用户在提交表单时输入的表单数据的代码。但是当我提交表单时,post不起作用,因此用户数据没有打印。我是django的初学者。我尝试了很多方法来解决这个问题。但是我做不到。如果有人知道我的代码有什么问题,请帮助我 forms.py from django import forms class feedbackForm(forms.Form): Name=forms.CharField() RollNo=forms.In

我使用django中的表单模块创建了反馈表单。我编写了用于打印用户在提交表单时输入的表单数据的代码。但是当我提交表单时,post不起作用,因此用户数据没有打印。我是django的初学者。我尝试了很多方法来解决这个问题。但是我做不到。如果有人知道我的代码有什么问题,请帮助我

forms.py

from django import forms 
class feedbackForm(forms.Form):
    Name=forms.CharField()
    RollNo=forms.IntegerField()
    Email=forms.EmailField()
    feedback=forms.CharField(widget=forms.Textarea)
视图.py

from django.shortcuts import render
from .import forms
def feedback_view(request):
    form=forms.feedbackForm()
    if request.method=='POST':
       form=forms.feedbackForm(request.POST)
       if form.is_valid():
            print('form validation success and  printing feeback info')
            print('student name :',form.cleaned_data['Name'])
            print('student RollNo:',form.cleaned_data['RollNo'])
            print('student Email :',form.cleaned_data['Email'])
            print('student feedback :',form.cleaned_data['feedback'])
    return render(request,'testapp/feedback.html',{'form':form})
from django.conf.urls import url
from django.contrib import admin
from testapp import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^feed/', views.feedback_view),
]
url.py

from django.shortcuts import render
from .import forms
def feedback_view(request):
    form=forms.feedbackForm()
    if request.method=='POST':
       form=forms.feedbackForm(request.POST)
       if form.is_valid():
            print('form validation success and  printing feeback info')
            print('student name :',form.cleaned_data['Name'])
            print('student RollNo:',form.cleaned_data['RollNo'])
            print('student Email :',form.cleaned_data['Email'])
            print('student feedback :',form.cleaned_data['feedback'])
    return render(request,'testapp/feedback.html',{'form':form})
from django.conf.urls import url
from django.contrib import admin
from testapp import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^feed/', views.feedback_view),
]
feedback.html

<!DOCTYPE html>
{% load staticfiles %}
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <link rel="stylesheet" href="{%static "css/demo1001.css"%}">
    <title></title>
  </head>
  <body>
    <div class="container"  align=center>
       <h1>ShefJaz Student 2feedbackform </h1><br>

       <form   method="post">
        {{form.as_p}}
        {%csrf_token%}
        <button type="button" class="btn btn-primary">sumbit feedback</button>

      </form>


    </div>
  </body>
</html>

{%load staticfiles%}
ShefJaz学生2反馈表
{{form.as_p}} {%csrf_令牌%} 萨姆比特反馈
您正在使用函数作为API视图,因此应该在方法装饰器中提及它,如下所示

from rest_framework.decorators import api_view
 @api_view(['POST'])
 def feedback_view(request):
      .....
    your code
      .....
希望它能为您提供解决方案

如图所示,可以使用多个HTTP方法

@api_view(['POST', 'GET'])

首先,python类必须始终使用大写字母类FeedbackForm(forms.ModelForm):按钮的类型必须为“submit”:
submitfeedback