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