标签: django-sekizai

django sekizai {%addtoblock%}标签无法正常工作

我正在尝试实现django sekizai应用程序.它正在复制我正在添加的js文件.

基本模板:

{% load sekizai_tags %}
...
{% render_block "my_js" %}
Run Code Online (Sandbox Code Playgroud)

使用此基础的模板:

{% 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 %}
Run Code Online (Sandbox Code Playgroud)

现在渲染的模板已经呈现了两次.但是当我尝试在div中添加相同的脚本时,它没有重复.如果有人能够对此有所了解,我将不胜感激!

此外,当我尝试在模板标记呈现的模板中使用{%addtoblock%}时,脚本会丢失(它既不包含也不保留在该模板中).

注意:模板标签render_blockaddtoblock来自django-sekizai包.

django django-templates django-sekizai

13
推荐指数
2
解决办法
4583
查看次数

在DjangoCMS插件中使用Sekizai addtoblock的正确方法

我正在开发一个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中,而不是放在它们所属的下面.我在这里错过了什么?

谢谢.

django django-cms django-sekizai

8
推荐指数
1
解决办法
4455
查看次数

Django 单元测试 Sekizai 和 django cms

如何在 django 中编写测试?我阅读了文档:https://docs.djangoproject.com/en/dev/topics/testing/overview/

但是我们使用 django-cms 和 sekizai 所以当我做一个简单的测试时,例如:

from django.test import TestCase
from django.test.client import Client

class AccessTest(TestCase):
    def setUp(self):
        # Every test needs a client.
        self.client = Client()

    def test_details(self):
        # Issue a GET request.
        response = self.client.get('/')

        # Check that the response is 200 OK.
        self.assertEqual(response.status_code, 200)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Traceback (most recent call last):   File "/home/maazza/PycharmProjects/django_my_app/search_engine/tests.py", line 18, in test_details
    response = self.client.get('/')   File "/home/maazza/.virtualenvs/django_my_app/local/lib/python2.7/site-packages/django/test/client.py", line 439, in get
    response = super(Client, self).get(path, data=data, **extra)   File "/home/maazza/.virtualenvs/django_my_app/local/lib/python2.7/site-packages/django/test/client.py", line …
Run Code Online (Sandbox Code Playgroud)

python django unit-testing django-cms django-sekizai

3
推荐指数
1
解决办法
2080
查看次数