django-beter-cache is een vervanger voor de standaard cache sjabloontag bibliotheek van Django.
Het is een betere versie van {% cache%}
Wat is beter over Beter Cache?
& Nbsp; - Geneste cache fragmenten erven de variabelen hun ouder fragmenten toets op
& Nbsp; - Parent cache fragmenten kunnen worden gegeven extra toetsen van hun kind cache fragmenten
Een voorbeeld:
& Nbsp; & nbsp; & nbsp; {% Cache 500 "buitenste" x%}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; y = {{y}}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {% Cache 500 "innerlijke" y%}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; x = {{x}}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {% Endcache%}
& Nbsp; & nbsp; & nbsp; {% Endcache%}
In de standaard tag {% cache%} van Django, zal de innerlijke fragment niet worden rerendered wanneer x overstappen, omdat alleen de buitenste fragment gebruikt dat als een belangrijke variabele. De buitenste fragment zal niet bijwerken met y veranderingen, omdat alleen de innerlijke fragment gebruikt dat.
Met Beter Cache, x en y invloed van beide, dus fragmenten zal opnieuw worden gerenderd wanneer een belangrijke variabele verandert.
Beter Cache maakt het ook mogelijk een syntax van het geven standaard op de belangrijkste variabelen:
& Nbsp; & nbsp; & nbsp; {% Cache 500 "test" x = 10%}
Controlling inheritence
Je wilt niet altijd de buitenste cache fragmenten te vervallen wanneer enige variabelen belangrijk om de innerlijke fragment veranderingen. In sommige gevallen wordt de innerlijke fragment toegestaan om muffe krijgen als het een langer verblijf in de cache als onderdeel van de ouder, dus we willen een manier om de vererving van de variabelen uit te schakelen.
U kunt dit doen met de `local` modifier. Alle modifiers na de `local` zal alleen van invloed op deze cache fragment, niet de moedermaatschappij.
& Nbsp; & nbsp; & nbsp; {% Cache 500 "buitenste" x%}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; y = {{y}}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {% Cache 500 "innerlijke" lokale y%}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; x = {{x}}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {% Endcache%}
& Nbsp; & nbsp; & nbsp; {% Endcache%}
Plannen
& Nbsp; - on-demand ongeldig maken van fragmenten op basis van mappings via een ORM-achtige interface
Eisen
- Python
- Django
Reacties niet gevonden