Python PostCreateView返回由PostDetailView引发的页面错误404
我试图在Django项目中添加一个Python PostCreateView返回由PostDetailView引发的页面错误404,python,django,django-class-based-views,Python,Django,Django Class Based Views,我试图在Django项目中添加一个CreateView,但由于某种原因,我不明白为什么会出现PostDetailView引发的404页错误。我假设这是因为url模式,但我已经修改了好几次,但仍然卡住了 以下是全部错误: Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/score/new_design/ Raised by: score.views.PostDetailView 这是模
CreateView
,但由于某种原因,我不明白为什么会出现PostDetailView
引发的404页错误。我假设这是因为url模式,但我已经修改了好几次,但仍然卡住了
以下是全部错误:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/score/new_design/
Raised by: score.views.PostDetailView
这是模型
class Post(models.Model):
title = models.CharField(max_length=100, unique=True)
design = models.ImageField(blank=False, null=True, upload_to=upload_design_to)
这是view.py
class PostCreateView(LoginRequiredMixin, SuccessMessageMixin, CreateView):
model = Post
fields = ['title', 'design']
success_url = '/'
template_name = 'score/post_form.html' # <app>/<model>_<viewtype>.html
success_message = "Your Post has been submitted"
def form_valid(self, form):
form.instance.designer = self.request.user
return super().form_valid(form)
class PostCreateView(LoginRequiredMixin、SuccessMessageMaxin、CreateView):
型号=员额
字段=['title','design']
成功_url='/'
模板名称='score/post_form.html'#
您可以尝试将创建url移动到细节上方,如下所示:
urlpatterns = [
path('', PostListView.as_view(), name='score'),
path('new_design/', PostCreateView.as_view(), name='post-create'),
path('<slug:slug>/', PostDetailView.as_view(), name='post-detail'),
urlpatterns = [
path('', PostListView.as_view(), name='score'),
path('detail/<slug:slug>/', PostDetailView.as_view(), name='post-detail'),
path('new_design/', PostCreateView.as_view(), name='post-create'),
urlpatterns=[
路径(“”,PostListView.as_view(),name='score'),
路径('new_design/',postreateview.as_view(),name='post-create'),
路径('/',PostDetailView.as_view(),name='post-detail'),
这允许首先找到createview。或者您可以尝试如下方式编辑详细url:
urlpatterns = [
path('', PostListView.as_view(), name='score'),
path('new_design/', PostCreateView.as_view(), name='post-create'),
path('<slug:slug>/', PostDetailView.as_view(), name='post-detail'),
urlpatterns = [
path('', PostListView.as_view(), name='score'),
path('detail/<slug:slug>/', PostDetailView.as_view(), name='post-detail'),
path('new_design/', PostCreateView.as_view(), name='post-create'),
urlpatterns=[
路径(“”,PostListView.as_view(),name='score'),
路径('detail/',PostDetailView.as_view(),name='post-detail'),
路径('new_design/',postreateview.as_view(),name='post-create'),
问题是,由于detailview首先出现,它正在搜索要匹配的有效段塞,但由于找不到,因此出错