Conas teimpléid a shárúLink to this heading
I do thionscadal, b'fhéidir gur mhaith leat teimpléad a shárú in iarratas Django eile, cibé acu is feidhmchlár tríú páirtí é nó feidhmchlár contrib mar ``django.contrib.admin ``. Is féidir leat athshlánú teimpléid a chur in eolaire teimpléid do thionscadail nó in eolaire teimpléid feidhmchláir.
Má tá eolairí teimpléid aipeanna agus tionscadail agat ina bhfuil foriompaithe araon acu, déanfaidh an lódóir teimpléad réamhshocraithe Django iarracht an teimpléad a luchtú ón eolaire leibhéal tionscadail <TEMPLATES-APP_DIRS>Is é sin le rá, cuardaítear :setting: DIRS <TEMPLATES-DIRS>`roimhe sean:setting: `APP_DIRS.
Sárú ó eolaire teimpléid an tionscadailLink to this heading
Ar dtús, déanfaimid iniúchadh ar theimpléid sháraitheacha trí theimpléid athsholáthair a chruthú in eolaire teimpléad do thionscadail.
Ligean le rá go bhfuil tú ag iarraidh na teimpléid d'fheidhmchlár tríú páirtí ar a dtugtar blog ``a sholáthraíonn na teimpléid ``blog/post.html agus blog/list.html, a sholáthraíonn na teimpléid blog/post.html. Bheadh cuma na socruithe ábhartha do thionscadal seo a leanas:
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
INSTALLED_APPS = [
...,
"blog",
...,
]
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [BASE_DIR / "templates"],
"APP_DIRS": True,
# ...
},
]
Beidh an socrú: SETTING: TEMPLATES agus BASE_DIR ann cheana féin má chruthaigh tú do thionscadal ag baint úsáide as an teimpléad réamhshocraithe tionscadail. <TEMPLATES-DIRS>Is é an socrú is gá a mhodhnú ná: socrú: `DIRS `.
Glacann na socruithe seo leis go bhfuil eolaire teimpléad agat i bhfréamh do thionscadail. Chun na teimpléid don aip blog ``a shárú, cruthaigh fillteán san eolaire ``teimpléid`, agus cuir na comhaid teimpléad leis an bhfillteán sin:
templates/
blog/
list.html
post.html
Féachann an lódóir teimpléid ar dtús teimpléid san eolaire ``DIRS`. Nuair a iarrann na tuairimí san aip blog ``na teimpléid `blog/post.html agus ``blog/list.html`, cuirfidh an lódóir na comhaid a chruthaigh tú díreach ar ais.
Sárú ó eolaire teimpléad aipLink to this heading
Ós rud é go bhfuil teimpléid thart agat atá suite taobh amuigh de cheann de na feidhmchláir do thionscadail, tá sé níos coitianta an chéad mhodh a úsáid agus forlíonta teimpléid a chur i bhfillteán teimpléid tionscadail. Más fearr leat, áfach, is féidir na foriomláin a chur in eolaire teimpléad aip freisin.
Ar dtús, déan cinnte go bhfuil do shocruithe teimpléid á seiceáil taobh istigh de na heolairí aipeanna:
TEMPLATES = [
{
# ...
"APP_DIRS": True,
# ...
},
]
Más mian leat na teimpléid a shárú in aip ar a dtugtar myapp` agus tugtar blog/list.html` agus blog/post.html ar na teimpléid atá le frithsheasmhú, ansin beidh cuma ar do struchtúr eolaire:
myapp/
templates/
blog/
list.html
post.html
Le: Socrú: APP_DIRS <TEMPLATES-APP_DIRS>`socraithe go ``True`, féachfaidh an lódóir teimpléid in eolaire teimpléid an aip agus gheobhaidh sé na teimpléid.
Teimpléad athsháraithe a leathnúLink to this heading
Agus do luchtaitheoirí teimpléad cumraithe, is féidir leat teimpléad a leathnú ag baint úsáide as an gclib te <extends>impléad:ttag: {% extens%} agus é a shárú ag an am céanna. Féadann sé seo ligean duit saincheaptha beaga a dhéanamh gan gá duit an teimpléad iomlán a athchur i bhfeidhm.
Mar shampla, is féidir leat an teicníc seo a úsáid chun lógó saincheaptha a chur leis an teimpléad admin/base_site.html:
teimpléid/admin/base_site.html {% extends "admin/base_site.html" %}
{% block branding %}
<img src="link/to/logo.png" alt="logo">
{{ block.super }}
{% endblock %}
Príomhphointí le tabhairt faoi deara:
Cruthaíonn an sampla comhad ag
templates/admin/base_site.htmla úsáideann an eolaireteimpléid ``leibhéal tionscadail cumraithe chun `admin/base_site.htmla shárú.Leathnaíonn an teimpléad nua
admin/base_site.html, arb é an teimpléad céanna atá á athshealbhú.Cuireann an teimpléad in ionad an bhloc branding, ag cur lógó saincheaptha leis, agus block.super` á úsáid chun an t-ábhar roimhe seo a choinneáil.
Tá an chuid eile den teimpléad gan athrú ó admin/base_site.html`.
Oibríonn an teicníc seo toisc nach ndéanann an lódóir teimpléad a mheas ar an teimpléad athshlánaithe atá luchtaithe cheana féin (ag templates/admin/base_site.html`) agus an chlib extenses ``á réiteach. In éineacht le `block.super is teicníc cumhachtach é chun saincheaptha beaga a dhéanamh.