django有名分组路由二:正则加别名
# 访问每个班级的学生
# 路由
re_path(r'^(?P<name>\w+)/$', views.test),
# 视图
def test3(request, name):
cls = Class.objects.get(name=name) # 先找出当前班级,匹配条件是班级名=路径传过来的参数名
stu_list = cls.student_set.all() # 通过关联查找到当前班级的所有学生
return render(request, 'test2.html', {'stu_list': stu_list})
def test(request, name):
sub_name = Grade.objects.get(sub=name)
return render(request, 'test.html', {'sub_name': sub_name})
# 模板
<ul>
{% for stu in stu_list %}
<li>{{ stu.name }}</li>
{% endfor %}
</ul>