私は複数の基準で評価したいコンテンツを持っています。
は、この種のモデルを想像:Django - 評価システムの表示とテンプレート
class Content(models.Model):
name = models.CharField(max_length=50)
class Criterion(models.Model):
name = models.CharField(max_length=50)
content = models.ForeignKey(Content)
class ContRate(models.Model):
user = models.ForeignKey(User, help_text="Who rated ?")
crit = models.ForeignKey(Criterion)
rate = models.DecimalField()
ユーザーがコンテンツを表示するページがあります。このページから
、彼はまた、評価はアヤックスで行われます
を設定した基準上のコンテンツを評価することができます。
今、私は今、どのように私はforms
フォームセットを使用することができますテンプレートに
view.py
#...
def viewcont(request, content_id):
"""The user can view a content & rate it"""
content = get_object_or_404(Content, pk=content_id)
RateFormSet = modelformset_factory(ContRate)
formset = RateFormSet(queryset=ContRate.objects.filter(content=content, user=request.user))
objs = {
'content': content,
'forms': formset,
}
return render_to_response('content/content_detail.html', objs
, context_instance=RequestContext(request)
)
#...
content_detail.html
<!-- ... -->
<div id="rating">
<ul>
{% for crit in content.crit_set.all %}
<li>
{{ crit }}
<div class="rateit"
data-rateit-value="the_actual_rating_if_already_there"
data-rateit-ispreset="true"
crit-id="{{ crit.id }}"></div>
</li>
{% endfor %}
</ul>
</div>
<!-- ... -->
を表示&を実装しようとしています実際のレートを表示するには?
クリックした星からAjaxによって投稿される空のフォームをどのように描画できますか?
(私はjavascript/jQueryの部分を知っています)
です。私はそれを知らなかった "基準"をありがとう:) –