最好的方法来构造一个媒体网站,使其与基本代码分开。(基于意见)

2024-10-04 11:36:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近在我的翼下安装了一个新服务器,上面安装了一个有趣的django。以前的开发人员将媒体上载与静态内容混合在一起,并在其他模块中在项目的根文件级别创建了自己的目录。我对此的第一反应是普遍的烦恼。(我非常喜欢模块化开发。)然而,在努力“纠正”之后,它提出了一个问题。在

即使这个问题被标记为django,也可以根据java和asp.net. 在

如何设置静态文件?你是把所有的东西都堆在一个静态目录里,还是把时间链接到每个模块上?在

对于我启动的每个django应用程序,我的一个技巧是,在该应用程序的init.py中,我放了以下内容。在

import os
from django.conf import settings as djsettings
TEMPLATES_DIR = (os.path.join(os.path.dirname(__file__),'./templates'),)
djsettings.TEMPLATES_DIR += TEMPLATES_DIR

Tags: 模块文件pathdjangoimport服务器目录应用程序
2条回答

我不认为你的把戏真的需要了。在

如果使用django.template.loaders.app_directories.Loaderdocs) 你可以把一个模板目录在你的应用程序目录和Django将检查它为你的应用程序特定的模板

从django1.3开始,您可以使用staticfiles应用程序对所有静态媒体文件执行类似的操作。检查文档中的staticfiles-finders

最后,由于使用了collectstatic管理命令,您现在能够将静态媒体文件模块化(以便于开发和分发),但是一旦部署和服务于您的项目,您仍然可以将它们捆绑在一个集中的位置。在

现在我习惯于在每个包含静态文件的app目录中放一个static文件夹。我将模板保存在templates下的每个应用程序目录中。当把应用放在nginx或apache之后时,我将static路径命名为。在

我开始做的一件事是将javascript、css或图像等静态文件放在S3这样的CDN后面。在

相关问题 更多 >