用于Webteam应用程序的共享Django视图
项目描述
Django应用程序的视图,主要用于Webteam Django应用程序。
安装
您可以直接使用 pip install canonicalwebteam.django_views 安装此模块,或者将 canonicalwebteam.django_views 包含在您的应用的 requirements.txt 文件中。
TemplateFinder
TemplateFinder 是 TemplateView 的扩展,它尝试直接从 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).
项目详情
哈希值 for canonicalwebteam.django_views-1.4.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 30035be67c955d2b3ab2a03b61bbd308e0f3c0a09dce294ec3c83ba509c0e001 |
|
MD5 | dacf2395e56826c9e7fa64faebc6027d |
|
BLAKE2b-256 | 69710439ccf2c54de268d7e86a0bc784654bec2bf933450e0d4b8e68ff9cdba9 |