我正在用Django 2.0开发一个应用程序的课程,每个课程都包含模块,显然我有用户。
model.py
Class Course(models.Model):
name = models.TextField()
.....
Class Module(models.Model):
name = models.TextField()
containt = models.TextField()
.....
Class UserCourse(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
course = models.ForeignKey(Course, on_delete=models.CASCADE)
flat = models.BooleanField(default=False)
Class UserModule(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
module = models.ForeignKey(Module, on_delete=models.CASCADE)
当用户进入模块时,将在UserModule模型中创建注册表,以了解用户已进入模块。
我的想法是在模板中显示课程的所有模块,但如果用户已经使模块禁用该选项,否则允许进入模块。
views.py
def course(request, idCourse):
course = Course.objects.get(pk=idCourse)
module = UserModule.objects.filter(user = User.objects.get(pk=request.user.id),module__course=course.id)
return render(request, 'course.html',{'course':course,'module':module})
此查询已发送到课程模板
{% for x in course.module_set.all %}
{% if x in module %}
<i class="fa fa-check-circle"></i>
{% else %}
<a href="module"><i class="fa fa-check-circle"></i></a>
{% endif %}
{% endfor %}
但不幸的是,如果模块还没有完成,我就没有得到显示链接所需的内容
发布于 2018-06-08 06:01:29
在模板更改中
{% if x in y module %}
至
{% if x in module %}
https://stackoverflow.com/questions/50750345
复制相似问题