跳转到主要内容

Django应用程序,从政府数字服务风格指南构建`template`和`elements`组件

项目描述

此库尚未更新为使用新的 设计系统

根据政府数字服务指南和参考材料,制作一个遵循其风格的Django服务应该很容易。但是https://pypi.python.org/pypi/govuk-template没有更新,并且不能直接在Django中使用。https://github.com/alphagov/govuk_template需要在复杂构建步骤后才能直接安装到Django项目中。

此软件包采用GDS发布的组件,在Django项目中创建一个应用,然后可以像普通应用一样使用。此过程会从https://github.com/alphagov/govuk_template下载一个发布版本,以及Node.js包https://npmjs.net.cn/package/govuk-elements-sasshttps://npmjs.net.cn/package/govuk_frontend_toolkit的内容。

注意:直到版本1.0,API可能会有很多变化,因此锁定特定的小版本是个好主意。

使用方法

使用pip安装,例如pip install django-govuk-template。还可以安装3个可选的扩展包

  • forms:同时安装django-govuk-forms,该包使用GOV.UK标准样式的正确HTML结构输出Django表单

  • scss:允许使用管理命令构建SCSS资产

  • watch:与scss扩展包结合使用,在本地开发时自动构建SCSS资产

Django项目设置

  • 使用manage.py startproject或其他方式设置Django项目

  • 安装django-govuk-template(以及所需的扩展包)并将govuk_template_base添加到INSTALLED_APPS

  • 调用manage.py startgovukapp [[app name, e.g. govuk_template]]
    • 将此应用添加到INSTALLED_APPS

    • 确保此应用包含在源控制中,因为其目的是仅在需要时重建

    • 如果需要更新,请删除先前步骤中创建的应用,然后再次运行此命令

  • govuk_template_base.context_processors.govuk_template_base添加到模板上下文处理器中

  • 使用[[app name, e.g. govuk_template]].html作为扩展并覆盖inner_content块的模板

请参阅此存储库中的示例文件夹GitHub,它不包括在发行版中。

另一个示例[1]展示了将Django教程投票应用进行转换的过程——请参阅提交历史。

服务设置

服务的标题、阶段和页眉/页脚链接可以通过服务设置对象进行配置。

通常,这些存储在ServiceSettings模型中,初始配置可以是数据迁移或固定文件。但是,如果定义了GOVUK_SERVICE_SETTINGS设置,它将具有优先级。在未设置数据库的情况下,这很有用。

GOVUK_SERVICE_SETTINGS = {
    'name': 'Service name',
    'phase': 'beta',
    'header_link_view_name': 'service_app:home',
    'header_links': [
        {'name': 'Home', 'link': 'service_app:home', 'link_is_view_name': True},
    ],
}

存储在模型中的服务设置允许本地化到不同的语言。将localise_name设置为True,并在项目的本地化消息中提供翻译。

开发

https://travis-ci.org/ministryofjustice/django-govuk-template.svg?branch=master

请在GitHub上报告错误和打开拉取请求。

使用python setup.py test运行所有测试。

不需要为GDS包的每个发布版更新此存储库,只有覆盖组件的破坏性更改可能需要修复。

如果任何可本地化的字符串发生变化,请运行python setup.py makemessages compilemessages

通过更新 govuk_template_base 中的 VERSION 元组,将新版本分发到 PyPi,并运行 python setup.py compilemessages sdist bdist_wheel upload

待办事项

  • 添加 browser-sync 或类似的工具以简化本地开发

  • 添加 JavaScript 构建选项

  • 添加额外的 GOV.UK 模式

  • 改进服务设置配置

  • 可能改进 SCSS 构建机制(例如命令行回退)和打印样式

  • 可能改进应用命名或关于 govuk_template_basegovuk_template 的文档

  • 最好尽可能少使用外部工具(例如 docker/node/ruby),以简化构建过程

项目详情


下载文件

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

源分布

django-govuk-template-0.8.tar.gz (20.9 kB 查看哈希值)

上传时间

构建分布

django_govuk_template-0.8-py3-none-any.whl (31.2 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面