📜  列表视图——基于函数的视图 Django(1)

📅  最后修改于: 2023-12-03 14:50:13.842000             🧑  作者: Mango

列表视图——基于函数的视图 Django

列表视图是 Django 中常用的视图类型之一,用于展示一组数据。本文将介绍如何使用基于函数的视图来创建列表视图。

创建视图函数

在 Django 中,可以通过编写 Python 函数来创建视图。我们可以编写一个函数来处理列表视图的请求。具体步骤如下:

  1. views.py 文件中导入必要的模型和模板
from django.shortcuts import render
from .models import Post

这里我们导入 Post 模型,并使用 render 函数来渲染模板。

  1. 创建视图函数
def post_list(request):
    posts = Post.objects.all()
    return render(request, 'blog/post_list.html', {'posts': posts})

这里我们创建了一个名为 post_list 的函数,它接收一个请求对象 request 作为参数。函数中,我们查询了所有的 Post 对象,并将它们传递给模板(位于 blog/post_list.html)。

  1. 创建模板 在 templates/blog 目录下新建一个名为 post_list.html 的模板文件,并添加如下代码:
{% for post in posts %}
    <div>
        <h2>{{ post.title }}</h2>
        <p>{{ post.body }}</p>
    </div>
{% endfor %}

上述代码使用了 Django 模板语言标签,循环遍历从视图传递过来的 Post 对象,展示每个博客的标题和正文。

  1. 定义 URL 最后一步是将视图函数与 URL 绑定起来,通常在 urls.py 文件中进行定义。例如:
from django.urls import path
from . import views

urlpatterns = [
    path('posts/', views.post_list, name='post_list'),
]
结语

本文介绍了如何使用 Django 基于函数的视图创建列表视图。通过上述步骤,我们可以轻松创建出一个简单的博客列表。