python - 不允许的方法(POST):/home/
问题描述
我有一个带有表单和数据表的单页应用程序。页面加载正常,但问题是当我按下“提交”按钮时表单不起作用。
当我按下“提交”按钮时,它给了我这个错误Method Not Allowed (POST): /home/
谢谢你们的帮助!
视图.py
def _get_form(request, formcls, prefix):
data = request.POST if prefix in request.POST else None
return formcls(data, prefix=prefix)
all_items = List.objects.all
class Myview(TemplateView):
template_name = 'data_list/home.html'
all_items = List.objects.all
def get(self, request, *args, **kwargs):
return self.render_to_response({'scrape': Scrape(prefix="scrape_pre"), 'all_items': all_items})
def scrape(self, request, *args, **kwargs):
scrape = _get_form(request, Scrape, 'scrape_pre')
if request.method == "POST":
scrape = _get_form(request, Scrape, 'scrape_pre')
if scrape.is_valid():
print("Worked")
return self.render_to_response({'scrape': scrape})
def home(self, request, *args, **kwargs):
all_items = List.objects.all
return render(request, "data_list/home.html", {"all_items": all_items})
表格.py
class Scrape(forms.ModelForm):
url = forms.CharField()
class Meta:
model = List
fields = ["item", "site"]
网址.py
from django.urls import path, include
from . import views
urlpatterns = [
path("", views.add, name="add"),
path("scrape/", views.scrape, name="scrape"),
path("home/", views.Myview.as_view(), name="home"),
path("delete/<list_id>", views.delete, name="delete"),
path("datacontent/<list_id>", views.datacontent, name="datacontent")
]
主页.html
<div>
<form action="" method="post" >
{% csrf_token %}
{{ scrape|crispy }}
<pre></pre>
<button class="btn btn-outline-info" type="submit" value="Submit">SUBMIT</button>
<pre></pre><pre></pre><pre></pre><pre></pre>
</form>
</div>
<table class="table">
.....
解决方案
如果您的后端没有实现负责响应发布请求的发布功能,则您无法发送发布请求(表单定义中的方法='发布')。您应该将“刮擦”功能更改为“发布”。
推荐阅读
- r - 当第一维<第二维时,event_data() 未注册全范围表面的原因
- jquery - 为什么是我的 jquery ajax 调用在调用本地 web 服务时返回和错误
- delphi - 使用匿名方法的 Delphi 代码完成失败
- javascript - 在反应应用程序中更改 index.html 的路径
- javascript - ES6 Javascript 类和函数作用域
- sql - 在 SSRS 数据集中使用表值函数导致错误
- html - 页面跳转是在内容上方跳转
- javascript - 在 GET 和 setState 之后无法读取数组,即使它在那里
- jquery - 更改 aria-valuenow 剑道 UI 输入
- java - 如何将天文数字存储到变量中?