我在使用django-smart-choose时遇到问题。 在管理面板中,django-smart-choices正常工作但在模板中存在错误。
未捕获的ReferenceError:未定义chainedfk
$(document).ready(function() {
chainedfk.init(chainfield, url, id, value, empty_label, auto_choose);
});
Mt urls:
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^chaining/', include('smart_selects.urls')),
url(r'^$', 'avtocry.views.index'),
url(r'^/', include('advdesk.urls')),
url(r'^createadv/', 'advdesk.views.createadv',name='createadv')
]
tamplate file
{% extends 'base.html' %}
{% block content %}
<div class="wrapper">
<form action='{% url 'createadv' %}' method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="OK">
</form>
</div>
{% endblock %}
基础文件包
<script src="{% static 'js/jquery-2.1.4.min.js' %}"></script>
html输出
答案 0 :(得分:5)
以下是我如何解决这个问题,由于某些原因我不知道,一个名为chainedfk.js的文件丢失了。经过一番挖掘后,我发现此文件存在于此路径中&#39; smart-choices / admin / js / chainedfk.js&#39;在库文件中。 所以我只是添加了这个导入行我的base.html文件。
*我删除了标签,以便可见。
script src =&#34; {%static&#39; smart-choices / admin / js / chainedfk.js&#39; %}&#34;
在js导入行之后,它就像魅力一样:)
答案 1 :(得分:1)
更新 - 2017年5月
对不起,截至目前情况有所改变,我的表单也拒绝加载但是它加载了一段时间,所以你必须在jquery和包含chainedfk.js的标签之后包含下面的标签
这对于django 1.10.5和Django 1.11都很有效 - (这篇文章的最新版本) - Python 3.5.2
<script type="text/javascript" src="{% static 'smart-selects/admin/js/chainedfk.js' %}"></script>
<script type="text/javascript" src="{% static 'smart-selects/admin/js/chainedm2m.js' %}"></script>
<script type="text/javascript" src="{% static 'smart-selects/admin/js/bindfields.js' %}"></script>
答案 2 :(得分:0)
我遇到了同样的问题,但没有收到任何错误。 当我加入时它也适用于我:
<script src="{% static 'smart-selects/admin/js/chainedfk.js' %}"></script>
答案 3 :(得分:0)
要100%正确,您必须使用此特定订单导入文件:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js </script>
<!-- Smart select -->
<script src="{% static 'smart-selects/admin/js/chainedfk.js' %}"></script>
<script src="{% static 'smart-selects/admin/js/chainedm2m.js' %}"></script>
答案 4 :(得分:0)
通过将{{form.media.js}}
放入所需的JavaScript来为我工作。
所以:
{% block headjavascript %}{{ form.media.js }}{% endblock %}
哪个是加载javascript的更好做法