Django flaky url(随机省略 WSGIScriptAlias)

Django flaky url (randomly omits WSGIScriptAlias)

我的 Django 站点生成的 URL 间歇性地省略了我的 WSGIScriptAlias。如果我只是在我的 index.html 中打印出 {% url 'index' %}(请参阅下面我的 urls.py 设置),我会随机(大约 50% 的时间)得到:

MySiteAlias/MySite 

哪个是正确的,或者

MySite/

这是不正确的。

myapp/urls.py:

from django.conf.urls import url,include

urlpatterns = [
    url(r'^MySite/', include('mysite.urls')),
]

mysite/urls.py:

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

和 views.index 基本上是 return render(request, 'mysite/index.html)。关于如何解决此问题的任何想法?

我想您可能有两个同名的网址,这就是命名空间的用武之地。如果您为 mysite.urls 提供命名空间,那么就不会混淆您应该去哪里

url(r'^MySite/', include('mysite.urls', namespace='mysite')),
{% url 'mysite:index' %}