我遵循了一个教程,允许用户注册帐户,但是似乎找不到url路径。设置名称后,我可以访问127.0.0.1:8000/帐户/注册,但不能访问127.0.0.1:8000/signup。
我尝试将urlpatterns从路径更改为url方法,但这并不能解决问题。
我的文件结构如下:
App:
accounts:
urls.py
views.py
...
Server:
settings.py
urls.py
...
templates:
registration:
login.html
base.html
home.html
signup.html
manage.py
在我的Server \ urls.py中,
from django.contrib import admin
from django.urls import path, include
from django.views.generic.base import TemplateView
urlpatterns = [
path('admin/', admin.site.urls),
path('accounts/', include('accounts.urls')),
path('accounts/', include('django.contrib.auth.urls')),
path('', TemplateView.as_view(template_name='home.html'), name='home'),
]
我的帐户\ urls.py中有
from django.urls import path
from . import views
urlpatterns = [
path('signup/', views.SignUp.as_view(), name='signup'),
]
我得到的错误是
Using the URLconf defined in Server.urls, Django tried these URL patterns, in this order:
admin/
accounts/
accounts/
[name='home']
The current path, signup, didn't match any of these.
我不太确定发生了什么,因为我还是Django的新手,并在学习过程中忙于学习。
答案 0 :(得分:5)
path('accounts/', include('accounts.urls')),
表示来自accounts.urls
的所有URL均应以accounts/
开头。
如果那不是您想要的-将其编辑为
path('/', include('accounts.urls')),
和accounts.urls
将被视为顶级网址。