سلام خسته نباشید
استاد من سایت بازی دارم و میخوام سیستم ستاره دهی از صفحه ادمین براش پیاده سازی کنم
خودم هرچقد گشتم دیدم بیشترشون و یا متوجه نمیشم یا اصلا جوری دارن طراحی میکنن که خوده کاربر بتونه ستاره بده به بازیا من نمیخوام اینجوری باشه میخوام خودم از صفحه ی ادمین وقتی دارم این بازی رو ثبتش میکنم این ستاره هارم ازونجا ثبت کنم
من الان کدارم خدمتتون میدم ممنون میشم از همین کدها منو راهنماییم کنید
models
class game(models.Model):
title = models.CharField(max_length=150, verbose_name='عنوان (500x300)')
developer_game = models.CharField(max_length=150, null=True, verbose_name='سازنده', blank=True)
size_game = models.CharField(max_length=150, null=True, verbose_name='حجم', blank=True)
of_on = models.CharField(max_length=150, null=True, verbose_name='آفلاین/آنلاین', blank=True)
category = models.CharField(max_length=150, null=True, verbose_name='دسته بندی', blank=True)
text_h1 = models.CharField(max_length=150, null=True, verbose_name='متن بزرگ 1', blank=True)
text_h2 = models.CharField(max_length=150, null=True, verbose_name='متن بزرگ 2', blank=True)
description_1 = models.TextField(verbose_name='توضیحات 1', null=True, blank=True)
description_2 = models.TextField(verbose_name='توضیحات 2', null=True, blank=True)
image = models.ImageField(upload_to=upload_image_path, null=True, blank=True, verbose_name='تصویر (500x300)')
image_1 = models.ImageField(upload_to=upload_image_path, null=True, blank=True, verbose_name='تصویر 1 (840x480)')
active = models.BooleanField(default=False, verbose_name='فعال / غیرفعال')
categories = models.ForeignKey(GameCategory, blank=True, verbose_name="دسته بندی ها", on_delete=models.CASCADE)
image_new = models.ImageField(upload_to=upload_image_path, null=True, blank=True, verbose_name='تصویر پست جدید (300x110)')
tag = models.TextField(null='خالی', verbose_name='تگ', blank=True)
views
def home_page(request):
slider = Slider.objects.all()
games = game.objects.all()
apps = app.objects.all()
latest_game = game.objects.order_by('-id').all()
categories_game = GameCategory.objects.filter(ShowInHome=True)
categories_app = AppCategory.objects.filter(ShowInHome=True)
context = {
'name': 'home_page',
'slider': slider,
'games': games,
'apps': apps,
'latest_game': latest_game,
'categories_game': categories_game,
'categories_app': categories_app,
}
return render(request, 'home_page.html', context)
template
<section style="margin-bottom: 10%;padding-bottom: 30px; background: #f1f1f1">
<h3 style="font-family: 'Shabnam',serif;" class="text-center w3-padding-top-24">جدیدترین بازی ها</h3>
<div style="width: 25%;height: auto;margin-right: 37%;padding-top: 0%;margin-bottom: 2%"
class="border-bottom w3-border-aqua w3-bottombar">
</div>
<div class="carousel"
data-flickity='{ "wrapAround": true }'>
{% for game in latest_game %}
{% include 'products/products_item.html' %}
{% endfor %}
</div>
<div style="width: 25%;height: auto;margin-right: 37%;margin-top: 2%"
class="border-bottom w3-border-aqua w3-bottombar">
</div>
</section>
item carousel
<div class="slide">
<div class="panel panel-default pad-item" style="margin:0">
<a href="{{ game.get_absolute_url }}">
<img src="{{ game.image.url }}" class="img-responsive imgfluid"/>
</a>
<div class="panel-body" style="margin: 0">
<a style="text-decoration: none;" href="{{ game.get_absolute_url }}">
<h3 style="font-family: 'Shabnam',serif;" class="title-game">{{ game.title }}</h3>
</a>
<span class="star">
<a class="text-star">3+</a>
<span class="star-font fa fa-star checked"></span>
<span class="star-font fa fa-star checked"></span>
<span class="star-font fa fa-star checked"></span>
<span class="star-font fa fa-star"></span>
<span class="star-font fa fa-star"></span>
</span>
</div>
</div>
</div>
vectorgold.ir
اینم ادرس سایت تو همون صفحه ی اول carousel هارو میبیند که ایتم هاش ستاره دارن ولی برا همشون 3تا ست شده
یه روز گذشت کسی پیدا نیست جواب منم بده
برای امکانات و ویژگی های بیشتر مثل همین امتیاز دهی و خیلی چیزای دیگه خیلی راحت تر هستش که ادمین اختصاصی بزنید
یک ادمین اختصاصی برای این بخش بزنید و از django-star-rating که یک پکیج مناسب برای این کار هستش استفاده کنید برای امتیاز دهی
https://pypi.org/project/django-star-ratings/
این پکیج هستش میتونید داکیومنتش رو مطالعه کنید
سلام دوست من
اگر قصد ندارین که کاربران امتیازدهی رو انجام بدن، یک field جدید به مدل اصلی game خودتون اضافه کنین که یک عدد بین 1 تا 5 رو دریافت میکنه و بعد در صفحه اون رو نمایش بدین
اما اگر قصد دارین که کاربران سایت هم بتونن بهش رای بدن، پکیجی که اقای مهدوی معرفی کردن رو استفاده کنین