Il est difficile d'écrire des pages de document (conditions d'utilisation, FAQ, politique de confidentialité, page à propos, etc.) car elles sont en HTML, alors écrivez-les dans un fichier externe avec markdown, chargez-les dans le modèle Django (comme la balise include) et utilisez-les comme HTML. Production.
templates/myapp/about.html
{% load markup %}
{% load my_tags %}
{% read_file 'myapp/about.md' as source %}
{{ source|markdown:"safe" }}
templates/myapp/about.md
#À propos de cette application
Cette application est ...
* Django
* Python
* uwsgi
Cette fois, nous utiliserons django-markwhat (+ Markdown) comme bibliothèque principale pour le rendu. Si vous mettez celui-ci, il peut prendre en charge à la fois markdown et reStructuredText, ce qui est pratique.
python
$ pip install django-markwhat Markdown
Ajouté à INSTALLED_APPS
python
'django_markwhat',
templatetags/my_tags.py
from django import template
from django.template import TemplateDoesNotExist
register = template.Library()
@register.simple_tag(takes_context=True)
def read_file(context, template_name):
"""
Charger un fichier texte à l'aide du chargeur de modèles
Exemple: {% read_file 'admin_doc/pages/about.md' as source %}
"""
for loader in context.template.engine.template_loaders:
try:
source, _path = loader.load_template_source(template_name)
return source
except TemplateDoesNotExist:
pass
else:
raise TemplateDoesNotExist(template_name)
Comme ceci, créez une balise de modèle qui récupère le contenu du fichier à partir du répertoire de modèle en utilisant uniquement la fonction de lecture de fichier du chargeur de modèle de Django.
J'ai écrit au début,
templates/myapp/about.html
{% load markup %}
{% load my_tags %}
{% read_file 'myapp/about.md' as source %}
{{ source|markdown:"safe" }}
Le démarque est maintenant affiché en HTML.
Au fait, le Markdown de Qiita est puissant et facile à utiliser, mais ce Markdown est beaucoup plus pauvre.
Recommended Posts