跳转到主要内容

一个允许可重用应用为不同的模板和静态文件提供模板集的扩展。

项目描述

https://travis-ci.org/aldryn/aldryn-boilerplates.svg?branch=develop https://img.shields.io/coveralls/aldryn/aldryn-boilerplates.svg

概念

Aldryn Boilerplates旨在解决一个常见的Django问题。有时可重用应用程序需要提供自己的模板和静态文件,但为了有用,这些文件需要满足特定的前端期望 - 从而迫使采用者覆盖这些文件以适应其他前端,或者创建一个针对不同前端设置的项目的新分支。

为可重用应用程序提供丰富和完整的前端尤其困难,因为在创建一个有用的前端和创建一个无差别的前端之间存在冲突。

解决方案是在可重用应用中内置对不同、可切换的前端预期的支持,这正是Aldryn模板所做的事情。

Aldryn平台上,一个模板是一组完整的前端预期、假设、观点、约定、框架、模板、静态文件等——是前端开发的标准工作方式。

许多开发者实际上使用他们自己偏好的标准前端工具和代码集来处理所有项目;实际上,即使他们不使用这个名字,也有自己的模板。Aldryn模板旨在使在可重用应用中提供多个模板的支持并切换它们变得更加容易。

如果特定前端框架或系统的用户想将其与某个可重用应用一起使用,现在他们不再需要每次都拆除和替换现有的一个,或者在项目级别覆盖它。相反,他们可以使用Aldryn模板简单地添加前端文件到应用中,与现有的支持模板的文件并列。

项目中的一个简单设置告诉支持Aldryn模板的应用使用哪一个。

使用Aldryn模板

Aldryn模板不会改变在模板和静态文件中查找常规文件的方式——支持Aldryn模板的可重用应用也可以在没有安装它的项目中完美运行。

然而,为了支持Aldryn模板,您的应用应将模板特定的前端文件放在boilerplates/my-boilerplate-name/templates/boilerplates/my-boilerplate-name/static/中。

例如,要将Standard Aldryn模板(aldryn-boilerplate-bootstrap3)的支持添加到您的应用中,将文件放在boilerplates/bootstrap3/templates/boilerplates/bootstrap3/static/中。

安装

pip install aldryn-boilerplates

配置

Django 1.8+

通常配置保持不变,但您应该尊重由django 1.8引入的更改。特别是,在Django 1.8中,context processors从django.core移动到django.template

确保将aldryn_boilerplates包含在INSTALLED_APPS中,调整STATICFILES_FINDERS,最后配置TEMPLATES

对于模板,您需要在context_processors中添加aldryn_boilerplates.context_processors.boilerplate,并且与我们在1.8之前的Django版本中做的一样,修改loaders

注意:以下示例中我们更改了默认值,如果您正在使用自定义内容,请不要忘记添加。

以下是一个简单的配置示例

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-boilerplate支持添加到现有包中

推荐的方法是添加对aldryn-boilerplates的依赖,并将现有的statictemplate文件移动到boilerplate文件夹(完全删除statictemplates)。如果您正在重构现有模板,请将它们放入legacy boilerplate文件夹中,并在仍然使用旧模板的项目上设置ALDRYN_BOILERPLATE_NAME='legacy'。新的项目可以使用ALDRYN_BOILERPLATE_NAME='bootstrap3'来使用新的Aldryn Bootstrap Boilerplate(aldryn-boilerplate-bootstrap3)。或者任何其他boilerplate。

删除statictemplates的好处是,可以移除可能已弃用的模板,避免新用户混淆。它还可以防止不相关的模板和静态文件弄乱您的设置。

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

aldryn-boilerplates-0.8.0.tar.gz (11.1 kB 查看哈希值)

上传时间

由以下支持