所以我现在尝试在服务器上运行多个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 = '/'
应该有效吗?
答案 0 :(得分:1)
最后得到一个工作配置,用于在/dev/
下运行我的应用:
# SCRIPT_NAME = '/dev/' set from uwsgi, or use FORCE_SCRIPT_NAME
STATIC_URL = '/dev/'
WHITENOISE_STATIC_PREFIX = '/'
这似乎正确地将/dev/
添加到所有静态URL,并使whitenoise从该目录提供静态资源(无子目录)。
不确定这是否是正确的方法?