我最近在我的翼下安装了一个新服务器,上面安装了一个有趣的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
我不认为你的把戏真的需要了。在
如果使用
django.template.loaders.app_directories.Loader
(docs) 你可以把一个模板目录在你的应用程序目录和Django将检查它为你的应用程序特定的模板从django1.3开始,您可以使用staticfiles应用程序对所有静态媒体文件执行类似的操作。检查文档中的staticfiles-finders
最后,由于使用了collectstatic管理命令,您现在能够将静态媒体文件模块化(以便于开发和分发),但是一旦部署和服务于您的项目,您仍然可以将它们捆绑在一个集中的位置。在
现在我习惯于在每个包含静态文件的app目录中放一个
static
文件夹。我将模板保存在templates
下的每个应用程序目录中。当把应用放在nginx或apache之后时,我将static
路径命名为。在我开始做的一件事是将javascript、css或图像等静态文件放在S3这样的CDN后面。在
相关问题 更多 >
编程相关推荐