0

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

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

谢谢!

4

2 回答 2

0

好的,boostrap-rating-input 不是专门为 django 设计的,这意味着你必须做一些工作才能让它运行。

我建议你基于django-bootstrap-datetime-picker为它创建一个小部件,它实现了一个类似的引导输入字段,可以很好地与 django 一起工作。

完成后,您将能够在表单中添加一个小部件,该ratinginput小部件将在提交表单时自动返回一个数字,至于 django 评级,只要rating = RatingField(range=5)您的模型中有一个字段,您就可以用 arating = ratingWidget()和其他一切都应该照顾好自己。

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

于 2014-07-17T02:03:38.110 回答
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 调用并将其添加到您的 DB 中。

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

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

于 2015-08-03T10:35:35.390 回答