Sto provando ad implementare l'applicazione django sekizai. Sta duplicando i file js che sto aggiungendo.tag django sekizai {% addtoblock%} non funziona correttamente
modello di base:
{% load sekizai_tags %}
...
{% render_block "my_js" %}
modello che utilizza questa base:
{% load sekizai_tags %}
<div id="a1" >
{% addtoblock "my_js" %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/my_js.js"></script>
{% endaddtoblock %}
</div>
{% addtoblock "my_js" %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/my_js.js"></script>
{% endaddtoblock %}
Ora qui il template reso ha reso twice.But quando ho provato ad aggiungere lo stesso script all'interno del div wasn 'duplicato. Apprezzeremmo se qualcuno potesse far luce su questo!
Anche quando provo a utilizzare {% addtoblock%} in un modello reso da un tag modello, lo script scompare (non è incluso né rimane in tale modello).
Nota: I tag di template, render_block
e addtoblock
, sono dal pacchetto django-sekizai.
così sono riuscito a trovare il motivo dietro la duplicazione del mio script, che è la differenza rientro del copione all'interno e all'esterno del div. Il tag {% addtoblock%} a quanto pare non rimuove gli spazi bianchi. Quindi la soluzione alla mia prima domanda è uno stupido uno come di seguito: {% del carico sekizai_tags%}
Anche nel modello di tag del modello personalizzato gli script stavano scomparendo. Come per [django-sekizai-docs] (https://github.com/ojii/django-sekizai/blob/master/docs/restrictions.rst) è obbligatorio utilizzare SekizaiContext o RequestContext e il processore di contesto sekizai ma io trovato una soluzione alternativa se si desidera ridimensionare il contesto del modello (ad esempio cont = {}) utilizzare questo cont ['SEKIZAI_CONTENT_HOLDER'] = contesto ['SEKIZAI_CONTENT_HOLDER']. Con questa soluzione alternativa non è necessario utilizzare RequestContext e solo il processore di contesto di sekezai sarebbe sufficiente. –