一种扩展,允许可重用的应用程序为不同的样板文件提供模板和静态文件集。
aldryn-boilerplates的Python项目详细描述
概念
奥尔德林样板旨在解决一个常见的django问题。有时可重用的应用程序需要 为了提供自己的模板和静态文件,但是为了有用,这些需要提交 他们自己对特定的前端期望-从而迫使采用者超越这些期望 文件以使应用程序适应其他前端,或创建项目的新分支 针对不同的前端设置。
为可重用的应用程序提供丰富完整的前端尤其困难, 因为在创建有用的前端和创建不可知的前端之间存在冲突。
解决方案是在 可重用的应用程序,这就是Aldryn样板所做的。
在Aldryn平台上,样板是一个完整的前端集 期望、假设、意见、约定、框架、模板、静态文件等-a 前端开发的标准工作方式。
事实上,许多开发人员都使用自己喜欢的标准前端工具和代码集。 对于他们所有的项目;实际上,使用他们自己的样板,即使他们不使用这个名字。 Aldryn样板旨在使在 可重用的应用程序,并在它们之间切换。
如果某个特定的前端框架或系统的用户希望将其与某个可重用的 应用程序,它们现在不再需要破解并替换现有的,或者在 每次项目级别。使用aldryn样板,他们只需add 前端文件到应用程序,连同现有支持的样板文件。
项目中的一个简单设置告诉支持Aldryn样板的应用程序 使用。
使用Aldryn样板
aldryn样板文件不会改变templates和static中常规文件的方式 发现-支持Aldryn样板文件的可重用应用程序也可以非常好地工作 在一个没有安装的项目中。
但是,为了支持aldryn样板,您的应用程序应该将样板放在特定的位置 boilerplates/my-boilerplate-name/templates/和中的前端文件 boilerplates/my-boilerplate-name/static/。
例如,添加对标准aldryn样板文件(aldryn-boilerplate-bootstrap3)的支持 对于您的应用程序,将文件放在boilerplates/bootstrap3/templates/中,然后 boilerplates/bootstrap3/static/。
提示
别忘了将boilerplates添加到Manifest.in中,同时添加static和templates 创建python包时。
注意
约定是在github存储库名称前面加上aldryn-boilerplate-。你的 样板可以称为aldryn-boilerplate-mycompany-awesome。使用它 在项目中,设置ALDRYN_BOILERPLATE_NAME = 'mycompany-awesome'并放置模板 将静态文件放入boilerplates/mycompany-awesome/插件。 ALDRYN_BOILERPLATE_NAME根据 "identifier": "mycompany-awesome"在boilerplate.json中提交样板时 奥尔德林。
安装
注意
Aldryn样板预先安装在Aldryn平台上, ALDRYN_BOILERPLATE_NAME自动设置。
pip install aldryn-boilerplates
配置
django 1.8+
一般情况下,配置保持不变,但您应该尊重 由Django 1.8介绍。 尤其是在django 1.8中,上下文处理器从^{tt19}移走$ 到django.template。
确保包含aldryn_boilerplates到INSTALLED_APPS,调整 STATICFILES_FINDERS,最后配置TEMPLATES。
对于TEMPLATES,您需要添加 aldryn_boilerplates.context_processors.boilerplate到context_processors 并像对django之前的版本那样修改loaders。 到1.8。
注意在下面的示例中,我们正在更改默认值, 所以,如果你使用的是定制的东西-别忘了添加。
下面是一个简单的c配置:
INSTALLED_APPS = [ ... 'aldryn_boilerplates', ... ] STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'aldryn_boilerplates.staticfile_finders.AppDirectoriesFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', ) TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'OPTIONS': { 'context_processors': [ 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.i18n', 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.template.context_processors.media', 'django.template.context_processors.csrf', 'django.template.context_processors.tz', 'sekizai.context_processors.sekizai', 'django.template.context_processors.static', 'cms.context_processors.cms_settings', 'aldryn_boilerplates.context_processors.boilerplate', ], 'loaders': [ 'django.template.loaders.filesystem.Loader', 'aldryn_boilerplates.template_loaders.AppDirectoriesLoader', 'django.template.loaders.app_directories.Loader', ], }, }, ]
对现有包
添加ALDRYN样板支持推荐的方法是向AldRyn模板添加一个依赖项并移动现有的 static和template文件到样板文件夹(完全删除static和 templates)。如果你正在用某种方法重构现有模板 新建,将它们放入legacy样板文件夹并设置ALDRYN_BOILERPLATE_NAME='legacy' 对于仍在使用旧模板的项目。 然后,新的闪亮项目可以使用ALDRYN_BOILERPLATE_NAME='bootstrap3'来使用新的 Aldryn引导模板(aldryn-boilerplate-bootstrap3)。或其他 那件事的样板。
删除static和templates的好处是删除可能不推荐使用的模板 从非常突出的位置,这将迷惑新来者。它也防止了 模板和静态文件扰乱了您的设置。