Conas comhaid statacha a bhainistiú (m.sh. íomhánna, JavaScript, CSS)Link to this heading
De ghnáth ní mór do láithreáin ghréasáin comhaid bhreise a sheirbheáil mar íomhánna, JavaScript, nó CSS. I Django, tagraímid do na comhaid seo mar “comhaid statacha”. Soláthraíonn Django: mod: django.contrib.staticfiles chun cabhrú leat iad a bhainistiú.
Déanann an leathanach seo cur síos ar conas is féidir leat na comhaid statacha seo a sheirbheáil.
Comhaid statacha a chumrúLink to this heading
Déan cinnte go bhfuil
django.contrib.staticfilessan áireamh i do: setting: INSTALLED_APPS.I do chomhad socruithe, sainmhínigh: setting: STATIC_URL, mar shampla:
STATIC_URL = "static/"I do theimpléid, bain úsáid as an clib teimpléad:ttag: static chun an URL a thógáil don chonair choibhneasta tugtha ag baint úsáide as an ainm cumraithe
staticfiles:setting: STORAGES.{% load static %} <img src="{% static 'my_app/example.jpg' %}" alt="My image">Stóráil do chuid comhad statacha i bhfillteán ar a dtugtar
statici d'aip. Mar shamplamy_app/static/my_app/example.jpg.
Is dócha go mbeidh sócmhainní statacha ag do thionscadal nach bhfuil ceangailte le aip áirithe. Chomh maith le eolaire static/` a úsáid taobh istigh de d'aipeanna, is féidir leat liosta eolairí a shainiú (:setting: STATICFILES_DIRS) i do chomhad socruithe áit a lorgfaidh Django comhaid statacha freisin. Mar shampla:
STATICFILES_DIRS = [
BASE_DIR / "static",
"/var/www/static/",
]
Féach an doiciméadú le haghaidh socrú:setting: STATICFILES_FINDERS le haghaidh sonraí faoin gcaoi a aimsíonn staticfiles do chuid comhad.
Ag freastal ar chomhaid statacha le linnLink to this heading
Má úsáideann tú: mod: django.contrib.staticfiles mar a mhínítear thuas, déanfaidh: djadmin: runserver é seo go huathoibríoch nuair:setting: DEBUG socraithe go True. Mura bhfuil django.contrib.staticfiles agat in:setting: INSTALLED_APPS, is féidir leat comhaid statacha a sheirbheáil de láimh fós ag baint úsáide as an amharc:func: django.views.static.serve.
Níl sé seo oiriúnach le húsáid táirgeachta! Maidir le roinnt straitéisí imscartha coitianta, féach:doc: /howto/static-files/deployment.
Mar shampla, má shainmhínítear duit:setting: STATIC_URL mar static/, is féidir leat é seo a dhéanamh tríd an snippet seo a leanas a chur le do urls.py`:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Freastal ar chomhaid a uaslódálann úsáideoir le linn naLink to this heading
Le linn na forbartha, is féidir leat comhaid meán a uaslódáladh ón úsáideoir a sheirbheáil ó:setting: MEDIA_ROOT ag baint úsáide as an amharc: func: django.views.static.serve.
Níl sé seo oiriúnach le húsáid táirgeachta! Maidir le roinnt straitéisí imscartha coitianta, féach:doc: /howto/static-files/deployment.
Mar shampla, má shainmhínítear duit:setting: MEDIA_URL mar media/, is féidir leat é seo a dhéanamh tríd an snippet seo a leanas a chur le duit:setting: ROOT_URLCONF:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
TástáilLink to this heading
Agus tástálacha á <django.test.LiveServerTestCase>reáchtáil a úsáideann iarratais HTTP iarbhír in ionad an cliant tástála ionsuite (ie agus an t-ion:class: LiveServerTestCase 'á úsáid) ní mór na sócmhainní statacha a sheirbheáil feadh an chuid eile den ábhar ionas go atáirgeann an timpeallacht tástála fíor chomh dílis agus is féidir, ach níl ach feidhmiúlacht seirbhíse comhad statach an-bhunúsach aige: Níl a fhios aige faoi ghné aimsitheoirí an `````feidhmchlár staticfiles ``agus glacann sé go bhfuil an t-ábhar statach bailíodh cheana féin fao:setting: `STATIC_ROOT.
Mar gheall air seo, seolann staticfiles` a chuid féin: class: django.contrib.staticFiles.Testing.staticLiveServerTestCase, fo-aicme den ceann ionsuite a bhfuil sé de chumas freastal ar na sócmhainní go trédhearcach le linn na dtástálacha seo a fhorghníomhú ar bhealach an-chosúil leis an méid a fhaighimid ag am forbartha le DEBUG = True`, ie gan gá a bhailiú iad ag baint úsáidea:djadmin: collectstatic ar dtús.
ImscaradhLink to this heading
django.contrib.staticfiles provides a convenience management command
for gathering static files in a single directory so you can serve them easily.
Socraigh an socrú:setting: STATIC_ROOT chuig an eolaire uaidh ar mhaith leat na comhaid seo a sheirbheáil, mar shampla:
STATIC_ROOT = "/var/www/example.com/static/"Rith an t-ordú bainistíochta: djadmin: collectstatic:
$ python manage.py collectstaticDéanfaidh sé seo gach comhad ó do fhillteáin statacha a chóipeáil isteach san eolair:setting: STATIC_ROOT.
Úsáid freastalaí gréasáin de do rogha chun na comhaid a sheirbheáil. :doc: /howto/static-files/deployment clúdaíonn roinnt straitéisí imscartha coitianta do chomhaid statacha.
Tuilleadh eolaisLink to this heading
Clúdaigh an doiciméad seo na buneilimintí agus roinnt patrúin úsáide coitianta Le haghaidh sonraí iomlána ar na socruithe go léir, orduithe, clibeanna teimpléad, agus píosaí eile atá san áireamh in:mod: django.contrib.staticfiles, féach: doc: `the staticfiles tagair</ref/contrib/staticfiles> '.