初めてWebアプリケーションを制作しているのですが上手くいきません。
DjangoでフォームからJquery ratyの値をデータベースに保存できたのですが、
その後に、値に応じた星の表示がうまくいきません。
調べたのですが、Rubyでの情報が多く試してみたものの上手く行かず、またJavaScriptの知識もあまりありません。
template2とJavascriptの記述が正しいのかわかりません。
models
1class Shop(models.Model): 2 title = models.CharField(verbose_name='店舗名', max_length=100) 3 4class Comment(models.Model): 5 title = models.CharField(verbose_name='タイトル', max_length=255) 6 star = models.FloatField(verbose_name='評価', blank=True, null=True) 7 body = models.TextField(verbose_name='本文') 8 posted_at = models.DateField(auto_now_add=True) 9 user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
forms
1class Commentform(forms.ModelForm): 2 3 class Meta: 4 model = Comment 5 fields = ['title', 'star', 'body']
template1
1{% extends 'base.html' %} 2 3{% block content %} 4<div class="comment-form"> 5 <div class="container"> 6 <form method="post"> 7 {% csrf_token %} 8 <table> 9 <label>{{ form.title.label }}</label> 10 {{ form.title }} 11 <label>{{ form.star.label }}</label> 12 <div id="stars"></div> 13 <label>{{ form.body.label }}</label> 14 {{ form.body }} 15 </table> 16 <button class="submitbutton" type="submit">送信</button> 17 </form> 18 </div> 19 </div> 20</div> 21{% endblock %}
template2
1{% for comment in shop.comment_set.all %} 2 <div class="review-body"> 3 <p class="review-name">{{ comment.user.username }}</p> 4 <p class="review-title">{{ comment.title }}</p> 5 <p class="review-comment">{{ comment.body }}</p> 6 <p class="review-date">{{ comment.posted_at }}</p> 7 8 **データベースの値がJquery Ratyの星に反映されない** 9 <p id="user_rating">{{ comment.star }}</p> 10 </div> 11{% endear %}
JavaScript
1$(function() { 2 $('#stars').raty({ 3 path: '/static/raty-image/', 4 scoreName: 'star', 5 }); 6 $('#user_rating').raty({ 7 path: '/static/raty-image/', 8 readOnly: true, 9 10 **色々試しましたがscoreに値が入らない** 11 score: 'comment.star', 12 }); 13});
回答1件
あなたの回答
tips
プレビュー