【发布时间】:2022-01-22 15:05:56
【问题描述】:
从页面
This page isn’t working. If the problem continues, contact the site owner.
HTTP ERROR 405
从终端
Method Not Allowed (POST): /
Method Not Allowed: /
[20/Dec/2021 22:00:27] "POST / HTTP/1.1" 405 0
页面上传点击后如何重定向到同一页面。
form.html->包含在sidebar.html->包含在home.html中
<form method = "POST" action='.' enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Upload</button>
</form>
views.py
from django.shortcuts import render
from .forms import UserProfileForm
def index(request):
print(request.POST)
return render(request,'home.html')
urls.py
from django.conf import settings
from django.urls import path
from django.views.generic.base import TemplateView # new
urlpatterns = [
path('', TemplateView.as_view(template_name='home.html'), name='home'),
]
【问题讨论】:
-
您可以添加您的
urls.py吗? 405 表示该方法不被允许,因此处理请求的视图不接受 POST 请求 -
好的,添加了 urls.py。
-
您有一个
TemplateView为该路径提供服务,但它不接受 POST 请求。您问题中的视图根本没有使用 -
我应该把它换成 view,它应该对 django 的东西有点新。
-
您需要将 TemplateView 换成可以处理 GET 和 POST 请求的视图,FormView 可能工作或只是一个标准视图