这是另一个星级问题。我想使用bootstrap-rating-input输入评分值(1 到 5)并让django-ratings将评分保存到数据库中。虽然我对 javascript 有点陌生,但我真的希望用户能够使用星级而不是数字输入表单进行投票。你能告诉我如何连接这两个应用程序以使它们相互配合吗?
- 视图和模板是什么样的?
- 以及如何配置 javascript 以使整个工作正常?
谢谢!
这是另一个星级问题。我想使用bootstrap-rating-input输入评分值(1 到 5)并让django-ratings将评分保存到数据库中。虽然我对 javascript 有点陌生,但我真的希望用户能够使用星级而不是数字输入表单进行投票。你能告诉我如何连接这两个应用程序以使它们相互配合吗?
谢谢!
好的,boostrap-rating-input 不是专门为 django 设计的,这意味着你必须做一些工作才能让它运行。
我建议你基于django-bootstrap-datetime-picker为它创建一个小部件,它实现了一个类似的引导输入字段,可以很好地与 django 一起工作。
完成后,您将能够在表单中添加一个小部件,该ratinginput
小部件将在提交表单时自动返回一个数字,至于 django 评级,只要rating = RatingField(range=5)
您的模型中有一个字段,您就可以用 arating = ratingWidget()
和其他一切都应该照顾好自己。
我可能会在今天晚些时候尝试实现这个小部件。
将此添加到您的头部以进行测试:
<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文件