编程语言
首页 > 编程语言> > python – Dreamhost上的Django静态文件

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