zoukankan      html  css  js  c++  java
  • Django构建列表和详细视图

    在了解了如何使用ORM后,即可着手准备构建你们的应用程序视图(这里本人以博客为例)。Django视图仅表示为一个Python函数,接收 Web 请求并返回一个 Web 响应。另外,返回响应结果的全部逻辑均位于视图中。

    首先,需要创建应用程序视图,并于随后针对每个视图定义URL。最后,还需要创建HTML 模板,以渲染视图所生成的数据。其中,每个视图将渲染一个模板(向其中传递变量),并返回包含渲染输出结果的 HTTP 响应。

    生成列表和视图

    下面开始创建视图以显示帖子列表。编辑 blog 应用程序的 views.py 文件,如下所示:

    from django.shortcuts import render, get_object_or_404
    from .models import Post
    
    def post_list(request, tag_slug=None):
        posts = Post.objects.all()
        return render(request, 'blog/post/list.html', {'posts': posts})

    上述代码创建了第一个Django视图。具体来说,post_list 视图接收 request 对象作为唯一参数。需要注意的是,全部视图都需要使用到该参数。在当前视图中,将利用objects 管理器检索包含objects 状态的所有帖子。最后使用Django 提供的 render() 方法渲染包含给定模板的帖子列表。

    下面创建第二个视图并显示独立的帖子。对此,可向 views.py 文件下添加下列函数:

    def post_detail(request, year, month, day, post):
        post = get_object_or_404(Post, slug=post,
                                 status='published',
                                 publish__year=year,
                                 publish__month=month,
                                 publish__day=day)
        return render(request, 'blog/post/detail.html', {'post': post})

    作为帖子详情视图,该视图接收year、month、day以及post 作为参数,并检索包含既定 slug 和日期的发布帖子。最后使用Django 提供的 render() 方法渲染包含给定模板的帖子列表。

    注意到目前为止,我们只写了视图,下面还需要添加路径和视图模板,这部分本人将在明天进行更新。感谢支持。

  • 相关阅读:
    云南网页首页布局全代码
    表格样式(鼠标经过时整行变色)
    做自定义圆角矩形
    网页布局
    黄冈中学首页的模板简图
    动态网页简版
    十字绣首页设计
    go组合
    http rpc关联
    php echo print
  • 原文地址:https://www.cnblogs.com/xcbb/p/14274191.html
Copyright © 2011-2022 走看看