python – Dreamhost上的Django静态文件
作者:互联网
我有一个Dreamhost共享服务器托管Passenger Python / Django.目前我有一个收集非python文件的全局文件夹(/ public / static,/ public / media).当我执行“collectstatic”时,我的所有应用程序的* /静态文件都会被复制到global / public / static文件夹中.目前很好.
1)我厌倦了使用collectstatic.我想删除我的应用程序的* / static文件夹并将其文件放在global / public / static中.这适用于Dreamhost,因为Passenger Python将Apache的Document Root指向/ public,它将正确检索/ public / static和/ public / media.但是在开发方面我没有这样的功能(在python manage.py下).
2)Dreamhost /共享主机下的静态/缓存文件的任何优化?
以下是我的设置:
网站设置:
STATICFILES_DIRS = (
ABS_PATH + '/???/???/static/', #My App's static dir
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#'django.contrib.staticfiles.finders.DefaultStorageFinder'
)
TEMPLATE_DIRS = (
#ABS_PATH + '/hdrtoronto/hdrtoronto/templates/'
ABS_PATH + '/templates/'
)
Urls.py:
if os.environ.get("django_dev", None):
urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root = settings.STATIC_ROOT)
解决方法:
STATIC_ROOT和MEDIA_ROOT需要位于Django项目之外.因此,collecstatic管理命令,将所有静态资源并置在外部位置,就像它本来的那样.
我建议你重新考虑如何管理静态文件.你将要做一些非常错误的事情,我担心你完全忽略了这一点并违背了正确的框架行为.
标签:python,django,dreamhost 来源: https://codeday.me/bug/20190629/1331029.html