Python 这一页不是’;如果问题仍然存在,请联系网站所有者。试图在django中修复此问题时出现HTTP错误405?
当我单击“删除”按钮时,我收到一个错误:此页面现在无法工作问题仍然存在,请与网站所有者联系。HTTP错误405 这是我的view.py文件:Python 这一页不是’;如果问题仍然存在,请联系网站所有者。试图在django中修复此问题时出现HTTP错误405?,python,django,django-models,django-views,django-templates,Python,Django,Django Models,Django Views,Django Templates,当我单击“删除”按钮时,我收到一个错误:此页面现在无法工作问题仍然存在,请与网站所有者联系。HTTP错误405 这是我的view.py文件: from django.shortcuts import render,get_object_or_404 from django.http import HttpResponse from django.views.generic import ListView,DetailView, CreateView, UpdateView, DeleteView
from django.shortcuts import render,get_object_or_404
from django.http import HttpResponse
from django.views.generic import ListView,DetailView, CreateView, UpdateView, DeleteView
from .models import Post, TaskCategory
from .forms import PostForm
from django.urls import reverse_lazy
class DeletePostView(DetailView):
model = Post
template_name = 'delete_post.html'
success_url = reverse_lazy('PostPage')
from django.urls import path
# from . import views
from .views import PostHomeView,PostDetail,NavFooter,PostPageView,AddPost,UpdatePost,DeletePostView
urlpatterns = [
path('', PostHomeView.as_view(), name ='home'),
path('PostDetail/<int:pk>', PostDetail.as_view(), name ='post_detail'),
path('PostPage/', PostPageView, name ='post_page'),
path('AddPost/', AddPost.as_view(), name = 'add_post'),
path('PostDetail/UpdatePost/<int:pk>', UpdatePost.as_view(), name = 'update'),
path('DeletePost/<int:pk>/', DeletePostView.as_view(), name = 'delete'),
]
{% extends "nav_footer.html" %}
{% load static %}
{% block content %}
<div class="form-group">
<p>{{ post.task_title }}</p>
<p>{{ post.task_discription }}</p>
<p>{{ post.recommended_tools }}</p>
<p>{{ post.budget }}</p>
<form method="post">
{% csrf_token %}
<button class="btn btn-secondary">Delete</button>
</form>
</div>
{% endblock %}
url.py文件:
from django.shortcuts import render,get_object_or_404
from django.http import HttpResponse
from django.views.generic import ListView,DetailView, CreateView, UpdateView, DeleteView
from .models import Post, TaskCategory
from .forms import PostForm
from django.urls import reverse_lazy
class DeletePostView(DetailView):
model = Post
template_name = 'delete_post.html'
success_url = reverse_lazy('PostPage')
from django.urls import path
# from . import views
from .views import PostHomeView,PostDetail,NavFooter,PostPageView,AddPost,UpdatePost,DeletePostView
urlpatterns = [
path('', PostHomeView.as_view(), name ='home'),
path('PostDetail/<int:pk>', PostDetail.as_view(), name ='post_detail'),
path('PostPage/', PostPageView, name ='post_page'),
path('AddPost/', AddPost.as_view(), name = 'add_post'),
path('PostDetail/UpdatePost/<int:pk>', UpdatePost.as_view(), name = 'update'),
path('DeletePost/<int:pk>/', DeletePostView.as_view(), name = 'delete'),
]
{% extends "nav_footer.html" %}
{% load static %}
{% block content %}
<div class="form-group">
<p>{{ post.task_title }}</p>
<p>{{ post.task_discription }}</p>
<p>{{ post.recommended_tools }}</p>
<p>{{ post.budget }}</p>
<form method="post">
{% csrf_token %}
<button class="btn btn-secondary">Delete</button>
</form>
</div>
{% endblock %}
我认为问题出在反惰性函数的某个地方,我不确定HTTP错误405是否为“方法不允许”。这意味着您正试图执行一些未定义或不允许的操作
您的问题是您在“DeletePostView”中使用“DetailView”,它应该使用“DeleteView”
这里的问题是“DetailView”没有定义post方法