我在两台独立的计算机上安装了两个应用程序.在计算机A上,在urls.py
文件中我有如下行:
(r'^cast/$', 'mySite.simulate.views.cast')
该网址将会对工作都mySite.com/cast/
和mySite.com/cast
.但是在计算机上有一个类似的URL写出来像:
(r'^login/$', 'mySite.myUser.views.login')
出于某种原因,在计算机B上url mySite.com/login
/将会工作但是mySite.com/login
会挂起并且不会mySite.com/login/
像计算机A那样直接返回.是否有我遗漏的东西?这两个url.py
文件看起来都和我一样.
或者你可以像这样写你的网址:
(r'^login/?$', 'mySite.myUser.views.login')
尾部斜杠后的问号在regexp中使其成为可选项.如果由于某些原因您不想使用APPEND_SLASH设置,请使用它.
检查APPEND_SLASH
settings.py文件中的设置
更多关于django文档的信息
这改善了@Michael Gendin的答案.他的回答是使用两个单独的URL提供相同的页面.最好login
自动重定向到login/
,然后将后者作为主页面提供服务:
from django.conf.urls import patterns from django.views.generic import RedirectView urlpatterns = patterns('', # Redirect login to login/ (r'^login$', RedirectView.as_view(url = '/login/')), # Handle the page with the slash. (r'^login/', "views.my_handler"), )