我的项目目录中有以下URL.py
主项目URL.py
from django.contrib import admin
from django.urls import path, include
from . import views
urlpatterns = [
path('', views.render_calculator, name='render_calculator'),
path('calculator/', views.render_calculator, name='render_calculator'),
path('disclaimer/', views.render_disclaimer, name='render_disclaimer'),
path('cookiepolicy/', views.render_cookiepolicy, name='render_cookiepolicy'),
path('privacypolicy/', views.render_privacypolicy, name='render_privacypolicy'),
path('dashboard/', views.render_dashboard, name='render_dashboard'),
path('about/', views.render_about, name='render_about'),
path('admin/', admin.site.urls),
path(r'^', include('accounts.urls'))
]
现在,我创建了一个新的应用程序accounts
(我在settings.py中将其添加到我的应用程序中),我希望将该应用程序的URL存储在它自己的目录中,如下所示:
帐户应用程序URL.py
from . import views
from django.urls import path
urlpatterns = [
path('register/', views.render_register, name='render_register'),
]
帐户应用程序视图。py:
from django.shortcuts import render
def render_register(request, template="register.html"):
return render(request, template)
但是,此配置会引发以下错误:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/register
Using the URLconf defined in CFD.urls, Django tried these URL patterns, in this order:
[name='render_calculator']
calculator/ [name='render_calculator']
disclaimer/ [name='render_disclaimer']
cookiepolicy/ [name='render_cookiepolicy']
privacypolicy/ [name='render_privacypolicy']
dashboard/ [name='render_dashboard']
about/ [name='render_about']
admin/
^
The current path, register, didn't match any of these.
丢失的那块在哪里
改变这个
path(r'^', include('accounts.urls'))
到path('', include('accounts.urls'))
您正在将
path()
与regexr'^'
一起使用,这导致了您的问题为了用正则表达式定义路径,需要使用re_path
因此,将其更改为以下行:
或者你可以使用
相关问题 更多 >
编程相关推荐