Ric*_*nop 5 apache django django-admin uwsgi
我已经将Django部署到子目录(我没有对服务器的完全控制,因此无法改变它的部署方式).
我添加到我的设置:
FORCE_SCRIPT_NAME = '/hub06'
STATIC_URL = FORCE_SCRIPT_NAME + '/static/'
Run Code Online (Sandbox Code Playgroud)
现在,当我去/admin/hub06,它正常工作,我可以登录并浏览所有管理页面.只要我POST提出请求(添加新模型),URL就会被破坏.
例如,编辑时 /hub06/admin/myapp/car/1
当我提交表单时,它会重定向到 /hub06/hub06/admin/myapp/car/
所以它添加了两次脚本名称.这仅适用POST于Django管理员的请求.
这是linux主机吗?是运行apache,nginx?这完全取决于您的Web服务器的配置方式.
如果你真的必须有一个URL前缀一样/hub06/,那么你将需要更新settings.py中返回一个网址,如任何设置LOGIN_URL,STATIC_URL,LOGIN_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)),
)
Run Code Online (Sandbox Code Playgroud)
让我知道你怎么去.
Ric*_*nop -3
这是解决方案:
# NB - this setting is required to make the app work correctly when running
# via ProxyPass from Apache. Otherwise CSRF checks and some redirects will not
# work.
USE_X_FORWARDED_HOST = True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2478 次 |
| 最近记录: |