python - 在 django 中提交表单时 POST 方法不起作用
问题描述
我在 django 中使用表单模块创建了反馈表。我编写了用于打印用户在提交表单时输入的表单数据的代码。但是当我提交表单时,由于用户数据未打印,因此无法正常工作。我是 django 的初学者。我尝试了很多来解决这个问题。但我做不到。如果有人知道我的代码有什么问题,请帮助我
表格.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})
网址.py
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),
]
反馈.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>
解决方案
您正在使用一个函数作为 API 视图,所以应该在方法装饰器中提到它,如下所示
from rest_framework.decorators import api_view
@api_view(['POST'])
def feedback_view(request):
.....
your code
.....
希望它能给你解决方案。
可以使用多个 HTTP 方法,如下所示。
@api_view(['POST', 'GET'])
推荐阅读
- oracle11g - 重复帧查询返回Null,帧内的对象不显示
- video - 是否可以录制 Agora SDK 视频通话?
- sql-server - 如何通过在mysql数据库中传递参数来插入印地语文本
- react-native - 单击 EventForm 页面中的 Add 按钮时,我无法保存详细信息,必须在 EventList 页面中显示在 react native
- batch-file - 传递带有空格的目录(Robocopy)
- php - 警告:array_push() 期望参数 1 是数组,在第 21 行的 C:\xampp\htdocs\login.php 中给出 null
- c# - 无需重新编译主程序集的附加卫星程序集
- javascript - 如何在 C# 中使用 ActiveX
- c - 在事件查看器的情况下无法捕获未来事件
- angular - 当我的应用程序要关闭时如何调用 API