Vistas para aplicaciones de Django, principalmente para su uso en aplicaciones Django WebTeam.
Puede instalar este módulo directamente con pip install canonicalwebteam.django_views , o alternativamente, incluir canonicalwebteam.django_views en requirements.txt para su aplicación.
TemplateFinder es una extensión de TemplateView que intenta cargar las plantillas correspondientes directamente de las URL, sin la necesidad de escribir una vista para cada URL.
Puede cargar plantillas HTML directamente, o analizar archivos de marcado que contienen una tecla frontalmatter "wrapper_template".
Aquí hay un ejemplo de cómo usar TemplateFinder en su aplicación Django:
# urls.py
from django . conf . urls import url
from canonicalwebteam . django_views import TemplateFinder
# ...
urlpatterns += url ( r"$^" , TemplateFinder . as_view ()),Cuando la aplicación analiza una URL, buscará plantillas en las siguientes ubicaciones, en orden:
/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 Si el TemplateFinder encuentra un archivo de Markdown (finalización .md ) buscará las siguientes claves en Yaml Frontmatter:
wrapper_template obligatorio : (por ejemplo: wrapper_template: /includes/markdown-wrapper.html ) una ruta a una plantilla HTML dentro de la cual colocar el contenido de markdown analizado. Si la ruta no tiene una barra de corte líder (por ejemplo, plantillas/plantilla.html "o" ../templates/template.html "), entonces TemplateFinder buscará la plantilla en relación con la ubicación del archivo de Markdown en cuestión. Si el caminocontext opcional : (por ejemplo: context: {title: "Welcome", description: "A welcome page"} ) Un diccionario de pares de clave / valor adicionales para pasar al contexto de la plantilla.markdown_includes opcional : (por ejemplo: markdown_includes: {nav: } ) Una asignación de nombres clave para plantillas de plantilla que apuntan a los archivos de Markdown a incluir. Cada ruta de plantilla se analizará, el HTML resultante se pasará en el contexto de la plantilla, bajo la clave relevante.Aquí hay un archivo de markdown de ejemplo:
---
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).