【问题标题】:Django-Chosen seems to be ignoring the widgets despite correct static_url尽管 static_url 正确,Django-Chosen 似乎忽略了小部件
【发布时间】:2012-08-19 12:32:12
【问题描述】:

我可以使用选定的 jquery 直接将我的 ManyToManyField 放入选定的小部件:

<script type="text/javascript" src="{{ STATIC_URL }}projectx/projectx_chosen.js"></script>

projectx_chosen.js:

$(document).ready(function () {
    $('#id_sales_item').chosen();
});

这清楚地表明我的 static_url 设置正确。

但是尝试使用 django-chosen 实现相同的目标没有任何效果。

class DealType(models.Model):   
    sales_item          = models.ManyToManyField(SalesItem)


class DealTypeForm(ModelForm):   

    class Meta:
        model = DealType

        widgets = {
                    'sales_item': ChosenSelectMultiple(),
                   }

我选择了{{STATIC_URL}}js/chosen.jquery.min.js下的.jquery.min.js 和{{STATIC_URL}}css/chosen.css下的selected.css

知道为什么这不起作用吗?

更新

[21/Aug/2012 11:16:13] "GET /static/css/chosen.css HTTP/1.1" 304 0
[21/Aug/2012 11:16:16] "GET /static/js/chosen.jquery.min.js HTTP/1.1" 304 0

根据我对源代码的调查,现在两者都在扩展程序所期望的路径中。并且它们已加载。

但它根本不起作用。

直接使用 selected.js 就像一个魅力,所以我知道我通常会如何使用它,但是 django-chosen 似乎还不成熟。

【问题讨论】:

  • 你能检查一下jscss是否真的在加载吗?
  • 我将文件放在正确的位置,是否还必须将它们包含在 base.html 中?
  • 是的,你需要这样做
  • @zsquare,谢谢。请查看我更新的问题,但仍然没有运气。
  • 一定要看看这里:jsfiddle.net/houmie/GRTTm

标签: django jquery-chosen


【解决方案1】:

我遇到了同样的问题,并通过链接到 selected.jquery.ready.js 文件解决了它。所以我有:

<link href="{% static 'css/chosen.css' %}" rel="stylesheet">
<script type="text/javascript" src="{% static 'js/chosen.jquery.js' %}"></script>
<script type="text/javascript" src="{% static 'js/chosen.jquery_ready.js' %}"></script>

【讨论】:

  • 谢谢艾伦。我直接使用了 selected.js 而没有 django-chosen。所以我把这个作为答案,没有任何验证。 ;)
猜你喜欢
  • 2021-10-28
  • 2016-09-30
  • 2016-03-16
  • 2014-02-03
  • 2012-03-11
  • 2013-09-07
  • 2016-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多