这是我正在使用的基本代码:
https://github.com/justdjango/video-membership/tree/master/courses
3个主要文件:
- models.py
- views.py
- templates / course_list.html
但是我在models.py中添加了更多功能,以包括skill_level和带有模型选择的主题:
class Subject(models.Model):
SUBJECT_CHOICES = (
('tech','Technical'),('bus','Business'),('lead','Leadership'),)
name = models.CharField(max_length=20,choices=SUBJECT_CHOICES,unique=True)
def __str__(self):
return self.name
class Skill_level(models.Model):
SKILL_LEVEL_CHOICES = (
('Begin','Beginner'),('Interm','Intermediate'),('Adv','Advanced'),choices=SKILL_LEVEL_CHOICES,unique=True)
def __str__(self):
return self.name
class Course(models.Model):
slug = models.SlugField()
title = models.CharField(max_length=120)
description = models.TextField()
allowed_memberships = models.ManyToManyField(Membership)
created_at = models.DateTimeField(auto_now_add=True)
subjects = models.ManyToManyField(Subject)
skill_level = models.ManyToManyField(Skill_level)
visited_times = models.IntegerField(default=0)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('courses:detail',kwargs={'slug': self.slug})
@property
def lessons(self):
return self.lesson_set.all().order_by('position')
我最终想要做的是遍历科目和Skill_levels,以便可以在下拉菜单中使用循环结果,以便用户可以搜索/过滤特定学科的课程或特定技能水平的课程。但是现在,我想获取包含选择的下拉列表。
结果示例:
如果有人可以提供一些可以完成此任务的代码,我将不胜感激。