在 Helicon Zoo 的帮助下,我有一个在 IIS 下运行的 Django 网站。它位于虚拟目录中(因此,它的 url 看起来像http://mysite.com/django
)。
在我的 urls.py 中,我有这样定义的模式:
urlpatterns = patterns('',
....
url(r'^django/status/(?P<product>.*)/$',views.status),
....
)
但是,当我打开 url 时,http://mysite.com/django/status/some_product
我会收到带有消息的 404 页面:
Using the URLconf defined in urls, Django tried these URL patterns, in this order:
....
The current URL, status/some_product/, didn't match any of these.
如您所见,经过测试的 URL 中没有 django。当然,当我像这样改变模式时:
url(r'^status/(?P<product>.*)/$',views.status),
一切正常,但如果APPEND_SLASH
启用(并且我已启用它并将其设置为False
settings.py 出于某种原因没有帮助),我的请求http://mysite.com/django/status/some_product
将被重定向到http://mysite.com/status/some_product/
.
所以,问题是:如何配置 Django,使其不会抛出虚拟目录名称?
关于如何打开 APPEND_SLASH,我有什么需要了解的吗?现在我只是简单地放入APPEND_SLASH = False
settings.py,但没有区别。
注意:我对 Django 和 Python 几乎一无所知,我无法更改该网站的设置方式(至少现在是这样)。