在 UWSGI 后面运行 Django,我设置了一个 几乎 完美运行的夹层实例。唯一的问题是管理员登录页面无法正常工作。如果您只是尝试正常登录,浏览器将重定向到 http://admin/
。 html 表单操作属性设置为 //admin/
而不是 /admin/
因此浏览器将“admin”视为域名而不是根目录当前域。
我已经尝试浏览 Django 和 Mezzanine 包代码,但我看不到任何应该导致无关斜杠的内容。我发现一个网页说将 settings.FORCE_SCRIPT_NAME
更改为 "/"
可能会导致此问题,但我并没有覆盖 None
的默认值所以这不应该是原因。
在 urls.py 中我有以下内容(我认为这是默认设置):
urlpatterns = patterns("", # Change the admin prefix here to use an alternate URL for the # admin interface, which would be marginally more secure. ("^admin/", include(admin.site.urls)), ....
最佳答案
想了半天终于明白问题出在哪里了!我遵循了一些关于如何使用 nginx 设置 uwsgi 的说明,其中包含一行内容 uwsgi_param SCRIPT_NAME/;
。 SCRIPT_NAME
的目的是为 UWSGI 应用程序提供基本路径,因此在本例中它用于双斜杠。我在金字塔中发现了同样的问题。我怀疑任何 UWSGI 应用程序都会发生这种情况。
关于python - UWSGI 在 Django 中向管理员登录表单添加双斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13124913/