2

在 UWSGI 后面运行 Django,我设置了一个几乎可以完美运行的 Mezzanine 实例。唯一的问题是管理员登录页面无法正常工作。如果您只是尝试正常登录,则浏览器将被重定向到http://admin/. html 表单操作属性设置为//admin/而不是/admin/因此浏览器将“admin”视为域名而不是当前域的根目录。

我尝试过浏览 Django 和 Mezzanine 包代码,但我看不到任何应该导致多余斜线的东西。我发现一个网页说更改settings.FORCE_SCRIPT_NAME"/"可能会导致这种情况,但我没有覆盖默认值,None所以这不应该是原因。

在 urls.py 我有以下内容(我认为这是默认设置):

urlpatterns = 模式(“”,

    # 在此处更改管理员前缀以使用备用 URL
    # 管理界面,这会稍微安全一些。
    ("^admin/", 包括(admin.site.urls)),

  ……
4

1 回答 1

1

搞了好久才知道是什么问题!我遵循了一些关于如何使用 nginx 设置 uwsgi 的说明,其中包含一行说uwsgi_param SCRIPT_NAME /;. 的目的SCRIPT_NAME是为 UWSGI 应用程序提供基本路径,因此在这种情况下,它用于双斜杠。我在金字塔中发现了同样的问题。我怀疑任何 UWSGI 应用程序都会发生这种情况。

于 2013-01-10T21:45:21.767 回答