如何在bootstrap-rating-input中使用Django-rating

时间:2014-07-16 20:49:38

标签: javascript django django-templates django-views django-ratings

这是另一个星级评定问题。我想使用bootstrap-rating-input输入评级值(1到5)并让django-ratings将评级保存到数据库。虽然我有点javascript绿色,但我真的希望用户能够使用星级评分而不是数字输入表单进行投票。你能告诉我如何连接这两个应用程序,让它们彼此玩得很好吗?

  1. 视图和模板是什么样的?
  2. 如何配置javascript以使整个工作正常进行?
  3. 谢谢!

2 个答案:

答案 0 :(得分:0)

好的,boostrap-rating-input不是专门针对django的,这意味着你必须做一些工作才能实现它。

我建议您根据django-bootstrap-datetime-picker创建一个小部件,它已经实现了类似的引导输入字段,可以很好地与django一起使用。

完成后,您就可以在表单中添加ratinginput窗口小部件,只要您有{{1},就会在提交表单时自动返回一个数字,就像django评分一样您可以使用rating = RatingField(range=5)覆盖模型中的字段,其他所有内容都应该自行处理。

我可能会在今天晚些时候尝试实现这个小部件。

答案 1 :(得分:0)

将此添加到您的头部进行测试:
<script src="https://raw.githubusercontent.com/javiertoledo/bootstrap-rating-input/master/src/bootstrap-rating-input.js"></script>

现在将此代码添加到您要评级的位置

  
    

<input class="my_class rating" data-clearable=""                                                                              data-max="5" data-min="1" id="some_id"                                                                              name="your_awesome_parameter" value=""                                                                              type="number"                                                                              onchange="console.log($('input.my_class').rating().val())"/>

  

只是你得到了没有。在控制台中评级,现在进行ajax调用并将其添加到您的数据库中。

注意:如果您为用户视图尝试静态评级,请使用类似的代码 max.times do |i|
%i{class: "glyphicon glyphicon-star#{'-empty' if i>val}"}

  
    

记得在成功后下载 bootstrap-rating-input.js 文件