Django 包括 url 不起作用



这是基本网址:

url(r'^api/v1/accounts/', include('accounts.urls')),

在 accounts.urls.py:

urlpatterns = patterns(
    '',
    url(r'^signup/?$', signup, name="ref_singup"),
    url(r'^login/?$', user_login, name="ref_login"),
    url(r'^logout/?$', user_logout, name="ref_logout"),

http://localhost:8000/api/v1/accounts/logout

404回应。

Using the URLconf defined in accounts.urls, Django tried these URL patterns, in this order:
^signup/?$ [name='ref_singup']
^login/?$ [name='ref_login']
^logout/?$ [name='ref_logout']

在这里感到迷茫:)

更新修好ROOT_URLCONF后,还是得到404

Page not found (404)
Request Method: GET
Request URL:    http://localhost:8000/accounts/login/?next=/api/v1/accounts/logout
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^api/v1/accounts/
The current URL, accounts/login/, didn't match any of these.

我正在请求/api/v1/acounts/login/,但在它上面显示为/accounts/login/?

似乎 Django 将您重定向到默认登录 URL,很可能是因为login_requireduser_passes_test装饰器。

显然,您的登录网址不是/accounts/login/,因此您需要设置或更改LOGIN_URL设置以指向/api/v1/accounts/login/。如果您根本不想要重定向,则必须更改user_logout视图。

当您使用它时,您可能还想设置LOGOUT_URLLOGIN_REDIRECT_URL

尝试在网址视图之前添加views.

urlpatterns = patterns(
    '',
    url(r'^signup/?$', views.signup, name="ref_singup"),
    url(r'^login/?$', views.user_login, name="ref_login"),
    url(r'^logout/?$', views.user_logout, name="ref_logout"),
)

最新更新