/ / Načítať knižnicu štítkov Django šablóny pre všetky zobrazenia ako predvolené - django, django-šablóny

Vložte do knižnice štítkov Django šablónu pre všetky zobrazenia ako predvolené - django, django-šablóny

Mám malú typografiu súvisiacu s templatetag knižnicou, ktorú používam takmer na každej stránke. Práve teraz ju potrebujem načítať pre každú šablónu

{% load nbsp %}

Existuje spôsob, ako ho načítať "globálne" pre všetky pohľady a šablóny naraz? Vloženie štítku zaťaženia do základnej šablóny nefunguje.

odpovede:

69 pre odpoveď č. 1

Existuje add_to_builtins metóda v django.template.loader, Jednoducho ju zadajte názov modulu šablón (ako reťazec).

from django.template.loader import add_to_builtins

add_to_builtins("myapp.templatetags.mytagslib")

teraz mytagslib je k dispozícii automaticky v ľubovoľnej šablóne.


29 pre odpoveď č. 2

To sa zmení s uvoľnením Django 1.9.

Od 1.9, správny prístup bude konfigurovať tagy šablón a filtre pod builtins kľúč z OPTIONS - pozri nižšie uvedený príklad:

TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [],
"APP_DIRS": True,
"OPTIONS": {
"builtins": ["myapp.builtins"],
},
},
]

podrobnosti: https://docs.djangoproject.com/en/dev/releases/1.9/#django-template-base-add-to-builtins-is-removed


27 pre odpoveď č. 3

V django 1.7 len nahradiť from django.template.base import add_to_builtins


5 pre odpoveď č. 4

V Django 1.9 je libraries slovník štítkov a tečkované cesty Pythonu modulov štítkových šablón na registráciu s motormi šablón. Môžete ho použiť na pridanie nových knižníc alebo poskytnutie alternatívnych štítkov pre existujúce.

TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [],
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
"django.template.context_processors.debug",
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
],
"libraries": { # Adding this section should work around the issue.
"custom_tags" : "myapp.templatetags.custom_tags",#to add new tags module.
"i18n" : "myapp.templatetags.custom_i18n", #to replace exsiting tags modile
},
},
},
]