Python 设置脚本名称时的Django静态url?
因此,我现在正在尝试在服务器上运行多个Django实例,一个在Python 设置脚本名称时的Django静态url?,python,django,Python,Django,因此,我现在正在尝试在服务器上运行多个Django实例,一个在/dev/下,一个在/test/下,等等 web服务器正在设置正确的SCRIPT\u NAME设置,我可以很好地为页面、模板和整个管理面板提供服务,静态资产除外。Django使用WhiteNoise为静态资产提供服务 应用程序应该使用SCRIPT\u NAME的值作为静态URL,即从应用程序根目录提供所有静态资产 到目前为止,我已针对管理面板尝试了以下设置: # SCRIPT_NAME = '/dev/' Set in env # U
/dev/
下,一个在/test/
下,等等
web服务器正在设置正确的SCRIPT\u NAME
设置,我可以很好地为页面、模板和整个管理面板提供服务,静态资产除外。Django使用WhiteNoise为静态资产提供服务
应用程序应该使用SCRIPT\u 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/`
我想知道我是否错过了一个设置,或者问题可能在其他地方。通过查看文档,我了解到
静态\u URL='/'
应该可以工作?最终获得了一个运行我的应用程序的工作配置,该配置位于/dev/
:
# SCRIPT_NAME = '/dev/' set from uwsgi, or use FORCE_SCRIPT_NAME
STATIC_URL = '/dev/'
WHITENOISE_STATIC_PREFIX = '/'
这似乎正确地将/dev/
前置到所有静态URL,并使whitenoise从该目录(无子目录)为静态资产提供服务
不确定这是否是正确的方法?您使用的是什么WSGI服务器?我尝试过gunicorn和uwsgi,但我认为我最终找到了正确的设置组合,这基本上是正确的方法。我唯一要改变的是从
static/
子目录提供静态文件,所以:WHITENOISE\u static\u PREFIX='/static/'
和static\u URL='/dev'+WHITENOISE\u static\u PREFIX
我想吻你,我搜索了两个小时。使用STATIC_URL='/myapp/STATIC/'和WHITENOISE_STATIC_PREFIX='/STATIC/'对我来说很有用