Django-4.2博客开发教程:首页功能实现(十一)

一、首页菜单的实现

 如上图首页菜单红框中是动态生成的,所以这些数据的来源是数据库中。

在首页视图函数里,查询出所有的文章分类名称,在模板中加载这些数据就显示为上图菜单。

blog/views.py

def test(request):
    all_Class = Classes.objects.all()#通过Classes表查出所有分类
    #把查询出来的分类封装到字典中
    context = {
            'all_Class': all_Class,
        }
    return render(request, 'blog/test.html', context)#把字典传到index.html页面

blog/test.html

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    {% load static %}
</head>
<body>
  {% for c in all_Class %}

    <h3>{{ c.class_name }}</h3>

    {% endfor %}
</body>
</html>

 效果如图,查出来的

二 、整个流程是这样的:

1. blog/views.py 通过 all_Class 查询数据库得到分类的所有信息
2. blog/views.py 通过render 将context 字典传给'blog/test.html'模板
3. blog/test.html 通过这个标签接收数据 {% for c in all_Class %}
4. blog/test.html 通过双大括号加上单个对象的字段名 <h3>{{ c.class_name }}</h3>,最终展示到浏览器中



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章