我正在尝试实现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_block和addtoblock来自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中,而不是放在它们所属的下面.我在这里错过了什么?
谢谢.
如何在 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)