使用mysite.urls中定义的URLconf,Django按此顺序尝试了这些URL模式

时间:2018-01-19 16:56:01

标签: python django django-urls django-2.0

我有Django的问题。实际上我想在我的新网站中创建一个登录面板但是当我尝试写地址时,调试器会回复我一个错误:

Page not found (404)
Request Method: GET
Request URL:    http://localhost:8000/account/login
Using the URLconf defined in firmowa.urls, Django tried these URL patterns, in this order:

admin/
^account/
The current path, account/login, didn't match any of these.

我的firmowa.urls是

from django.contrib import admin
from django.urls import path, include

    urlpatterns = [
        path('admin/', admin.site.urls),
        path(r'^account/', include('account.urls')),
    ]

项目urls.py是:

from django.urls import path
from . import views

urlpatterns = [
    path(r'^login/$', views.user_login, name='login'),
]

我从几个小时开始寻找解决方案,但仍然没有。

2 个答案:

答案 0 :(得分:2)

path是Django 2.0中的一项新功能,与旧url的工作方式不同。不要在path中使用正则表达式。如果您需要正则表达式,请使用re_path代替,但在您的情况下,则无需使用正则表达式。

将您的代码更改为:

urlpatterns = [
    path('login/', views.user_login, name='login'),
]

等。它应该工作。

有关主题herehere的更多信息。

答案 1 :(得分:0)

from django.urls import path
from . import views
from django.conf.urls import url

urlpatterns = [
    url( r'^$', views.index , name='index') ,
]