Python 得到http://localhost:8000/add/ 找不到页面
我用我的localhost:8000开发这个应用程序已经有一段时间了,一切都很顺利。然而,现在我已经尝试添加一个新的url:/add/。由于某种原因,它无法识别URL。我相信我写代码的方式可能有问题,但我还没有完全找到。任何帮助都会很好 为了提供上下文,我在URL.py文件中创建了一个新路径:Python 得到http://localhost:8000/add/ 找不到页面,python,django,Python,Django,我用我的localhost:8000开发这个应用程序已经有一段时间了,一切都很顺利。然而,现在我已经尝试添加一个新的url:/add/。由于某种原因,它无法识别URL。我相信我写代码的方式可能有问题,但我还没有完全找到。任何帮助都会很好 为了提供上下文,我在URL.py文件中创建了一个新路径:path('add',views.ProjectCreateView.as_view(),name='add'), 然后我转到我的views.py文件并导入CreateView,如下所示: 来自django
path('add',views.ProjectCreateView.as_view(),name='add'),
然后我转到我的views.py文件并导入CreateView,如下所示:
来自django.views.generic import CreateView
然后,我在那里为视图创建了一个类:
class ProjectCreateView(CreateView):
model = Project
template_name = 'budget/add-project.html'
fields = ('name', 'budget')
接下来,我在我的templates文件夹中嵌套的budget文件夹中创建了另一个文件。文件名为add-project.html。我不认为这个文件有什么问题,但为了保证这就是我链接html文件的方式:
{% extends 'budget/base.html' %}
{% load static %}
{% block content %}
这正是我跑步时得到的信息
“没有与给定查询匹配的项目。”
主工作文件夹中的ULRS.PY:
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('', views.project_list, name='list'),
path('add', views.ProjectCreateView.as_view(), name='add'),
path('<slug:project_slug>/', views.project_detail, name='detail')
]
当您请求带有尾随斜杠的
/add/
时,这与添加路径不匹配,但与/
路径匹配,因此当您请求带有尾随斜杠的/add/
时,它会尝试您的项目详细信息
视图,并将项目slug
设置为“添加”。,这与add
路径不匹配,但与/
路径匹配,因此它会在project\u slug
设置为“add”的情况下尝试查看project\u细节?另外,您不需要在模板中添加HTML表单吗?尝试将您的视图添加到url中,作为url(r'add/$,ProjectCreateView.as_view(),name='project_add')
请显示整个错误跟踪。哦,请显示url.py,我感觉使用了错误的视图,因为CreateView
无法返回此错误。您是否还有路径(“”)
?这是my cmd中的错误消息:在启动开发服务器时使用CTRL-BREAK退出服务器。找不到:/add/[20/Sep/2019 19:31:24]“GET/add/HTTP/1.1”404 1727在路径中添加一个尾随/
,如下所示:path('add/',views.ProjectCreateView.as_view(),name='add'),
您可以分享您是如何定义模型的吗?另外,您不需要在模板中添加HTML表单吗?尝试将您的视图添加到url中,作为url(r'add/$,ProjectCreateView.as_view(),name='project_add')
请显示整个错误跟踪。哦,请显示url.py,我感觉使用了错误的视图,因为CreateView
无法返回此错误。您是否还有路径(“”)
?这是my cmd中的错误消息:在启动开发服务器时使用CTRL-BREAK退出服务器。找不到:/add/[20/Sep/2019 19:31:24]“GET/add/HTTP/1.1”404 1727在路径中添加一个尾随/
,如下所示:path('add/',views.ProjectCreateView.as_view(),name='add'),
from django.urls import path, include
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('budget.urls'))
]