如果路径正确,则 Django 页面未找到错误事件
Django Page not found error event if path is correct
我是 Django framework
使用 2.1 版本的新手,我在 urls.py
中使用可选参数时遇到问题
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('myapp/', include('myapp.urls')),
path('myblog/', include('myblog.urls')),
path('admin/', admin.site.urls),
]
应用名称:我的博客
urls.py
from django.urls import include, path, re_path
from django.contrib import admin
from . import views
app_name = 'myblog' #FOR NAMESPACE ISSUE THIS IS REQUIRED
urlpatterns = [
re_path(r'^test_view/<mode>/(?:blog-(?P<blog_id>\d+)/)?$', views.test_view)
]
我的博客view.py
def test_view(request, mode, blog_id):
return HttpResponse('ss')
我的博客模板
<button type="button" class="btn-xs btn-primary" onclick="location.href='{% url 'myblog:test_view' 'create' 1 %}'">Create New Blog</button>
错误
IN TEMPLATE :
NoReverseMatch at /myblog/
Reverse for 'test_view' not found. 'test_view' is not a valid view function or pattern name.
在访问时添加 URL 直接 http://127.0.0.1:8000/myblog/test_view/create/1/
我得到
PAGE NOT FOUND
请注意,根据 DJANGO DOCUMENTATION 中给出的文档,我进行了相同的更改,但仍然出现该错误
提前致谢。
您可以使用 name
参数指定 url 名称:
re_path(r'^test_view/(?P<mode>\w+)/(?:blog-(?P<blog_id>\d+)/)?$', views.test_view, name='test_view')
我是 Django framework
使用 2.1 版本的新手,我在 urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('myapp/', include('myapp.urls')),
path('myblog/', include('myblog.urls')),
path('admin/', admin.site.urls),
]
应用名称:我的博客
urls.py
from django.urls import include, path, re_path
from django.contrib import admin
from . import views
app_name = 'myblog' #FOR NAMESPACE ISSUE THIS IS REQUIRED
urlpatterns = [
re_path(r'^test_view/<mode>/(?:blog-(?P<blog_id>\d+)/)?$', views.test_view)
]
我的博客view.py
def test_view(request, mode, blog_id):
return HttpResponse('ss')
我的博客模板
<button type="button" class="btn-xs btn-primary" onclick="location.href='{% url 'myblog:test_view' 'create' 1 %}'">Create New Blog</button>
错误
IN TEMPLATE :
NoReverseMatch at /myblog/
Reverse for 'test_view' not found. 'test_view' is not a valid view function or pattern name.
在访问时添加 URL 直接 http://127.0.0.1:8000/myblog/test_view/create/1/
我得到
PAGE NOT FOUND
请注意,根据 DJANGO DOCUMENTATION 中给出的文档,我进行了相同的更改,但仍然出现该错误
提前致谢。
您可以使用 name
参数指定 url 名称:
re_path(r'^test_view/(?P<mode>\w+)/(?:blog-(?P<blog_id>\d+)/)?$', views.test_view, name='test_view')