canonicalwebteam.django views
1.0.0
Django应用程序的视图,主要用于WebTeam Django应用程序。
您可以直接使用pip install canonicalwebteam.django_views安装此模块,或者添加canonicalwebteam.django_views requirements.txt for您的应用程序。
TemplateFinder是TemplateView的扩展,它试图直接从URL加载相应的模板,而无需为每个URL编写视图。
它可以直接加载HTML模板,也可以解析包含“ Wrapper_template”前键键的标记文件。
这是如何在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如果TemplateFinder遇到Markdown文件(Ending .md ),它将在YAML FrontMatter中寻找以下键:
wrapper_template :(例如: wrapper_template: /includes/markdown-wrapper.html )通往HTML模板的途径,以放置分析的标记量表。如果路径没有领先的斜线(例如“模板/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).