gpt4 book ai didi

Django 管理员 - FORCE_SCRIPT_NAME 在 POST 时附加到 URL 两次

转载 作者:行者123 更新时间:2023-12-02 11:06:20 26 4
gpt4 key购买 nike

我已将 Django 部署到子目录(我无法完全控制服务器,因此无法更改其部署方式)。

我添加到我的设置:

FORCE_SCRIPT_NAME = '/hub06'
STATIC_URL = FORCE_SCRIPT_NAME + '/static/'

现在,当我转到/admin/hub06时,它工作正常,我可以登录并浏览所有管理页面。但是,一旦我执行 POST 请求(添加新模型),URL 就会损坏。

例如,编辑/hub06/admin/myapp/car/1

当我提交表单时,它会重定向到 /hub06/hub06/admin/myapp/car/

所以它添加了脚本名称两次。这仅适用于 Django 管理中的 POST 请求。

最佳答案

这是 Linux 主机吗?它正在运行 apache、nginx 吗?这完全取决于您的网络服务器的配置方式。

如果您确实必须有一个像 /hub06/ 这样的 URL 前缀,那么您将需要更新 settings.py 中返回诸如 LOGIN_URLSTATIC_URLLOGIN_REDIRECT_URL 等包含前缀。

我认为您不需要使用FORCE_SCRIPT_NAME。在 settings.py 中注释掉该位并更新 urls.py 以添加以下内容,例如:

from django.conf.urls import patterns, include, url
from django.contrib.auth.views import login
from django.contrib import admin
admin.autodiscover()

urlpatterns2 = patterns('',
url(r'^$', 'yourapp.views.home', name='Home'),
url(r'^admin/', include(admin.site.urls)),
)

urlpatterns = patterns('',
url(r'^hub06/', include(urlpatterns2)),
)

让我知道你进展如何。

关于Django 管理员 - FORCE_SCRIPT_NAME 在 POST 时附加到 URL 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25289880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com