【发布时间】:2017-08-23 14:14:41
【问题描述】:
我对 Stack Overflow 完全陌生,对 Django/Python 也很陌生。我没有太多的编码背景(不到一个月前开始学习python),但我想学习它并尝试一下。
我对 HTML 和 CSS 的了解足以完成我想做的事情,但 Python/Django 对我来说仍然是未知领域。
到目前为止,我有一个非常基本的网站,我正在尝试实现一个多部分的 5 星评级系统,该系统可自定义并与我的数据库一起使用。
这是我的模型:
class listing(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
title = models.CharField(max_length = 100, default="Class Title")
slug = models.SlugField(unique=True)
draft = models.BooleanField(default=False)
publish = models.DateField(auto_now=False, auto_now_add=False)
description = models.TextField(default="Class Description")
prerequisite = models.TextField(default="Class Prerequisites")
university = models.CharField(max_length = 100, default="Choose A University")
department = models.CharField(max_length = 100, default="Choose A Department")
last_updated = models.DateTimeField(auto_now=True, auto_now_add=False)
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
image = models.FileField(
upload_to=upload_location,
null=True,
blank=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("listings:detail", kwargs={"slug": self.slug})
基本上,我希望能够让用户根据我定义的 4 个自定义标准对每个单独的课程进行评分。例如,difficult_rating、workload_rating、book_rating、出席率。
理想情况下,我希望用户可以在 5 星评级系统中输入他们的决定,我可以对其进行自定义以使星星看起来像我想要的样子。
理想情况下,我希望它看起来像这样https://codepen.io/anon/pen/JyZGqd
我希望将用户决定发送到我的数据库,然后计算为平均值,然后在我的 listing_detail 视图中显示为我也可以使用 CSS 自定义的整数(有点困惑怎么做)。
这是我的listing_detail视图:
def listings_detail(request, slug=None):
instance = get_object_or_404(listing, slug=slug)
share_string = quote(instance.description)
context = {
"title": "Detail",
"instance": instance,
"share_string": share_string,
}
return render(request, "class_page.html", context)
请记住,我还是个初学者!我正在尽我所能理解 Django 和 Python。
实现设计上完全可定制的多部分 5 星评级系统的最佳方法是什么?
感谢您的宝贵时间和帮助!
【问题讨论】: