Python Django包含url不工作
以下是基本url:Python Django包含url不工作,python,django,Python,Django,以下是基本url: url(r'^api/v1/accounts/', include('accounts.urls')), 在accounts.url.py中: urlpatterns = patterns( '', url(r'^signup/?$', signup, name="ref_singup"), url(r'^login/?$', user_login, name="ref_login"), url(r'^logout/?$', user_log
url(r'^api/v1/accounts/', include('accounts.urls')),
在accounts.url.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"),
)
响应为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']
在这里感到失落:)
更新
在修复根_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,很可能是因为需要
登录
或用户通过测试
装饰程序
显然,您的登录url不是/accounts/login/
,因此您需要设置或更改登录url
设置以指向/api/v1/accounts/login/
。如果您根本不想重定向,则必须更改user\u logout
视图
当您进行此操作时,您可能还需要设置
LOGOUT\u URL
和LOGIN\u REDIRECT\u URL
尝试添加视图。
在url视图之前:
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"),
)
反向(“ref_logout”)
的结果是什么?()和?的值似乎将accounts.url视为基本urlconf。您是否做了任何更改设置。ROOT_URLCONF
?“accounts.urls”我已将其固定为“mysite.urls”作为基础URL这是您的问题,它应该指向您包含accounts.urls
的URLCONF。顺便说一句,我永远不会使用以//code>结尾的模式,而是使用APPEND\u SLASH=True
(默认设置)和CommonMiddleware
。这样可以确保存在一个规范的url,而不带斜杠的url仍然有效(通过用斜杠重定向到url)。