跳转到主要内容

用于Webteam应用程序的共享Django视图

项目描述

CircleCI build status Code coverage

Django应用程序的视图,主要用于Webteam Django应用程序。

安装

您可以直接使用 pip install canonicalwebteam.django_views 安装此模块,或者将 canonicalwebteam.django_views 包含在您的应用的 requirements.txt 文件中。

TemplateFinder

TemplateFinderTemplateView 的扩展,它尝试直接从 URL 加载相应的模板,无需为每个 URL 编写视图。

它可以直接加载 HTML 模板,或者解析包含“wrapper_template”头部键的 Markdown 文件。

使用方法

以下是一个如何在 Django 应用中使用 TemplateFinder 的示例

# urls.py
from django.conf.urls import url
from canonicalwebteam.django_views import TemplateFinder
# ...
urlpatterns += url(r"$^", TemplateFinder.as_view()),

模板匹配

当应用解析 URL 时,它将按以下顺序在以下位置查找模板

  • /parent/location/ => templates/parent/location.html

  • /parent/location/ => templates/parent/location/index.html

  • /parent/location/ => templates/parent/location.md

  • /parent/location/ => templates/parent/location/index.md

Markdown 解析

如果 TemplateFinder 遇到 Markdown 文件(以 .md 结尾),它将在 YAML 头部 中查找以下键

  • wrapper_template 必选:(例如:wrapper_template: /includes/markdown-wrapper.html)放置解析后的 Markdown 内容的 HTML 模板的路径。如果路径没有以反斜杠开头(例如“templates/template.html”或“../templates/template.html”),则 TemplateFinder 将相对于 Markdown 文件的当前位置搜索模板。如果路径

  • context 可选:(例如:context: {title: "Welcome", description: "A welcome page"})要传递到模板上下文中的额外键/值对的字典。

  • markdown_includes 可选:(例如:markdown_includes: {nav: })键名称到模板路径的映射,指向要包含的 Markdown 文件。每个模板路径将被解析,生成的 HTML 将作为模板上下文中的相关键传递。

以下是一个 Markdown 文件示例

---
wrapper_template: "/includes/markdown-wrapper.html"
markdown_includes:
  nav: "includes/nav.md"
context:
  title: "Welcome"
  description: "A welcome page"
---

Welcome to my website.

## GitHub

I also have [a GitHub page](https://github.com/me).

项目详情


下载文件

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

源代码分发

canonicalwebteam.django_views-1.4.0.tar.gz (6.2 kB 查看哈希值)

上传时间 源代码

构建分发

canonicalwebteam.django_views-1.4.0-py3-none-any.whl (10.2 kB 查看哈希值)

上传于 Python 3

由以下支持

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