طرق عرض لتطبيقات Django ، بشكل أساسي للاستخدام في تطبيقات WebTeam Django.
يمكنك تثبيت هذه الوحدة مباشرة مع pip install canonicalwebteam.django_views ، أو بدلاً من ذلك ، قم بتضمين canonicalwebteam.django_views في requirements.txt .
TemplateFinder هو امتداد لـ TemplateView الذي يحاول تحميل القوالب المقابلة مباشرة من عناوين URL ، دون الحاجة إلى كتابة عرض لكل عنوان URL.
يمكنه تحميل قوالب HTML مباشرة ، أو تحليلات Markdown التي تحتوي على مفتاح "wrapper_template".
إليك مثال على كيفية الاستفادة من TemplateFinder في تطبيق Django الخاص بك:
# 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 (إنهاء .md ) ، فسوف يبحث عن المفاتيح التالية في Yaml Frontmatter:
wrapper_template إلزامي : (على سبيل المثال: wrapper_template: /includes/markdown-wrapper.html ) مسار إلى قالب HTML يمكن من خلاله وضع المحتوى المتساوي المحلي. إذا لم يكن للمسار مائلة رائدة (مثل "Templates/Template.html" أو "../templates/template.html") ، فسيبحث TemplateFinder عن القالب بالنسبة لموقع ملف Markdown المعني. إذا كان المسارcontext اختياري : (على سبيل المثال: context: {title: "Welcome", description: "A welcome page"} ) قاموس أزواج المفتاح / القيمة الإضافية للانتقال إلى سياق القالب.markdown_includes اختياري : (على سبيل المثال: markdown_includes: {nav: } ) رسم خرائط لأسماء المفاتيح إلى مسارات القالب التي تشير إلى ملفات Markdown لتضمينها. سيتم تحليل كل مسار قالب ، وسيتم تمرير HTML الناتج في سياق القالب ، تحت المفتاح ذي الصلة.إليك مثال على ذلك ملف تخفيض:
---
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).