以下是基本网址:
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 /?
答案 0 :(得分:0)
似乎Django正在将您重定向到默认登录网址,很可能是因为login_required
或user_passes_test
装饰器。
显然,您的登录网址不是/accounts/login/
,因此您需要设置或更改LOGIN_URL
设置以指向/api/v1/accounts/login/
。如果您根本不想要重定向,则必须更改user_logout
视图。
当你在这里时,你可能也想设置LOGOUT_URL
和LOGIN_REDIRECT_URL
。
答案 1 :(得分:0)
尝试在您的网址浏览之前添加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"),
)