/ / Django šablóna sa neaktualizuje - python, django, šablóny, cache, django-šablóny

Django šablóna nebude aktualizovať - ​​python, django, šablóny, ukladanie do vyrovnávacej pamäte, django šablóny

Mám základnú šablónu django a pridal som niekoľko knižníc JS, ale zakaždým, keď stránku obnovím, nezobrazia sa žiadne zmeny.

  • Už som sa pokúsil odstrániť vyrovnávaciu pamäť a históriu prehľadávača a tak ďalej.
  • Ja nepoužívam django cache kdekoľvek v mojom kóde, je možné, že konfigurácia v settings.py môže byť príčinou tohto správania?
  • Už som reštartoval vývojový server django a pokúsil som sa tam nič neurobiť ...

Je ešte niečo, čo by som mohol urobiť, aby si django uvedomil, že moja základná šablóna sa zmenila a ja nechcem tú starú? Kam chce django ukladať súbory uložené v pamäti? Neviem, čo ďalej robiť ...

[EDIT]

Toto je nepríjemné ... Ukazuje sa, že som skopíroval svoj projekt z jedného priečinka do druhého, ale neaktualizoval som smernicu template_dirs v súbore settings.py, preto program django používal staré šablóny.

Vyriešil som to odstránením všetkých naprogramovaných ciest z settings.py a pridaním funkcie getcwd () na vytvorenie ciest, teraz môžem presunúť priečinok projektu kdekoľvek a stále ho bude fungovať dobre.

Ospravedlňujeme sa za všetky ťažkosti

odpovede:

3 pre odpoveď č. 1

Z mojej skúsenosti s používaním Django je problém spôsobený duplikátom súboru, a preto keď upravujete jeden súbor, django vyvoláva druhý. Odstránenie duplikátov by malo vyriešiť váš problém.


1 pre odpoveď č. 2

Zobrazuje sa všetko v základnej šablóne? Skontrolujte zdroj stránky, ktorú vykresľujete, a zistite, či sa zobrazuje všetko v základnej šablóne okrem nových úprav (knižnice js).

Ak tam nie je, pridajte {% rozširuje "základňu.html "%} (alebo akýkoľvek názov základnej šablóny), ako navrhuje Randall Ma na začiatok vykresleného súboru šablóny. Váš súbor základnej šablóny (napr. base.html) sa do každej rozšírenej šablóny automaticky nepridá - vy musia to výslovne vyhlásiť vyššie.

Ak sa tým problém nevyrieši, musíte uverejniť zdrojové súbory, ako navrhol ArgsKwargs.


1 pre odpoveď č. 3

Urobil som malú zmenu v súbore django.views.static.serve, ktorý vyriešil väčšinu mojich problémov získavaním zastaraných zdrojov v prehliadači. Možno to stojí za vyskúšanie:

http://lee-phillips.org/djangoStatic/


1 pre odpoveď č. 4

Vyskúšajte runserver namiesto apache / nginx


0 pre odpoveď č. 5

V predvolenom nastavení Django načíta šablóny z disku. http://www.jongales.com/blog/2012/02/16/make-django-keep-templates-in-memory/ Teoreticky by teda akékoľvek zmeny v šablóne mali byťokamžitý. Ako povedal @ daneilrvt, jeho problém nebol s Djangom, ale skôr s tým, že urobil zmenu, ktorú neaktualizoval. Rovnaké vydanie som mal dnes popoludní. Takže pokiaľ ide o zmeny, ktoré sa neaktualizujú, nezabudnite dvakrát skontrolovať, či aktualizujete správnu šablónu alebo časť kódu v šablóne.