Zak*_*son 8 django django-cms django-sekizai
我正在开发一个DjangoCMS插件,它包含一个javascript文件.插件的Javascript依赖于网站其他部分所使用的库.所以,这是我现在所拥有的概念部分:
Basetemplate.html
{% load cms_tags sekizai_tags and_a_bunch_of_other_stuff %}
<html>
...
<head>
{% render_block "css" %}
</head>
<body>
...
{% addtoblock "js" %}[jquery]{% endaddtoblock %}
{% addtoblock "js" %}[google api, data, more cool stuff like jqplot.]{%endaddtoblock%}
{% addtoblock "js" %}[my site's library js.] {% endaddtoblock %}
{% render_block "js" %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
现在在为我的DjangoCMS自定义插件加载的模板中,
great_calendar_plugin_template.html
{% load sekizai_tags and_a_couple_other_things %}
{% addtoblock "js" %}[plugin javascript file dependency]{%endaddtoblock %}
{% addtoblock "js" %}[plugin javascript file]{% endaddtoblock %}
....
Run Code Online (Sandbox Code Playgroud)
因此,无论我做什么,插件javascript文件都被放置在JQuery和所有其他依赖项之上的最终HTML中,而不是放在它们所属的下面.我在这里错过了什么?
谢谢.
您可以通过将"基本" addtoblock调用(jquery等)尽可能地放在基本模板的顶部来解决此问题.重要的是它是在你打电话和{% placeholder %}标签之前,在大多数网站上都是在开始<body>标签之前.
示例虚拟模板:
{% load cms_tags sekizai_tags and_a_bunch_of_other_stuff %}
{% addtoblock "js" %}[jquery]{% endaddtoblock %}
{% addtoblock "js" %}[google api, data, more cool stuff like jqplot.]{%endaddtoblock%}
{% addtoblock "js" %}[my site's library js.] {% endaddtoblock %}
<html>
<head>
{% render_block "css" %}
</head>
<body>
{% placeholder "mycontent" %}
{% render_block "js" %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4455 次 |
| 最近记录: |