当script_name设置时,Django static_url?

时间:2017-08-07 23:20:57

标签: python django

所以我现在尝试在服务器上运行多个Django实例,一个在/dev/下,一个在/test/下等等。

网络服务器正在设置正确的SCRIPT_NAME设置,我可以提供页面,模板,整个管理面板,静态资源除外。 Django使用WhiteNoise为静态资产提供服务。

应用程序应使用SCRIPT_NAME的值作为静态URL,即从应用程序根目录提供所有静态资产。

到目前为止,我已经针对管理面板尝试了以下设置:

# SCRIPT_NAME = '/dev/' Set in env
# URL for static assets should be `/dev/`
STATIC_URL = '/'  # Browser looks for static assets in `/`, drops script_name
STATIC_URL = None # Browser looks for static assets in `/`, drops script_name
STATIC_URL = `/dev/` # Browser looks for static assets in '/dev/dev/`

我想知道我是否错过了此处的设置,或者问题可能在其他地方。按照文档进行操作,我了解STATIC_URL = '/'应该有效吗?

1 个答案:

答案 0 :(得分:1)

最后得到一个工作配置,用于在/dev/下运行我的应用:

# SCRIPT_NAME = '/dev/' set from uwsgi, or use FORCE_SCRIPT_NAME
STATIC_URL = '/dev/'
WHITENOISE_STATIC_PREFIX = '/'

这似乎正确地将/dev/添加到所有静态URL,并使whitenoise从该目录提供静态资源(无子目录)。

不确定这是否是正确的方法?