首页 > 其他分享 >Django博客开发教程:体验数据查询

Django博客开发教程:体验数据查询

时间:2023-08-08 15:33:19浏览次数:48  
标签:index 教程 allarticle py 视图 查询 博客 article Django

进行数据查询之前,我们需要先进入我们的管理后台,在里面添加一些数据。然后我们用Pycharm打开我们的数据库。具体操作方法:用Pycharm可视化操作数据库

我们的数据结构长这般模样:

4.jpg

双击blog_article,可以查看到文章表里的内容和里面的字段:

5.jpg

数据查询,就是在视图函数里(views.py文件里)对模型Product进行实例化,并生成对象。生成的对象就是我们要查询的数据。然后我们可以对这个对象的属性进行逐一赋值,对象的属性来自于Product模型中所定义的字段。直白一点的说法就是,我们在视图层里对某一个数据库表进行查询,然后得到一个对象,我们可以通过这个对象能获取到这个表里的所有字段的值。具体操作如下:

1、从models.py里导入模型Product(也就是类名,或者说表名):

blog/views.py
#比如我信要查询所有文章,我们就要views.py文件头部把文章表从数据模型导入
from .models import Article

2、在视图函数里对要查询的Product进行声明并实例化,然后生成对象allarticle。

blog/views.py

def index(request):
    #对Article进行声明并实例化,然后生成对象allarticle
    allarticle = Article.objects.all()
    #把查询到的对象,封装到上下文
    context = {
        'allarticle': allarticle,
    }
    #把上传文传到模板页面index.html里
    return render(request,'index.html',context)

注:这里我在原来的基础上,把index视图函数里的内容删除了,修改成上面的内容,下面的模板页面index.html也是如此。

3、打开templates/index.html页面,修改成下面的内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MyBlog</title>
</head>
<body>

<div>
    <ul>
    <h4>所有文章:</h4>
        {% for article in allarticle  %}
        <li>{{ article.title }}</li>
        {% endfor %}
    </ul>
</div>

</div>
</body>
</html>

然后访问网站首页。就能看到我们的查询结果。

6.jpg

在模板里,我们可以对对象的属性进行赋值。比如模板里的{{ article.title }} 标题,就是我们通过{{ 对象.属性(字段) }}获取到对应的值。其它字段也是通过这样的方法来实现。

例如:

templates/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MyBlog</title>
</head>
<body>

<div>
    <ul>
    <h4>所有文章:</h4>
        {% for article in allarticle  %}
        <li>
            标题:{{ article.title }}<br />
            栏目:{{ article.category }}<br />
            作者:{{ article.user }}<br />
            时间:{{ article.created_time }}<br />

        </li>
        {% endfor %}
    </ul>
</div>

</div>
</body>
</html>

7.jpg

从之前的文章我们可以看到,如果我们想要将数据库的数据展现到网页上,需要由视图、模型与模板共同实现,步骤如下:

1、在models.py里定义数据模型,以类的方式定义数据表的字段。在数据库创建数据表时,数据表由模型定义的类生成。

2、在视图views.py导入模型所定义的类,我们把这个类称之为数据表对象,然后在视图函数里使用Django的数据库操作方法,实现数据库操作,从而获取到数据表里的数据。

3、视图函数获取到数据之后,将数据以字典、列表或对象(上下文context)的方式传递给HTML模板,并由模板引擎接收和解析,最后生成相应的HTML网页,在浏览器里展现出来。

更多关于数据库查询操作方面的文章,请查看:ORM之QuerySet API 和 ORM QuerySet查询

标签:index,教程,allarticle,py,视图,查询,博客,article,Django
From: https://www.cnblogs.com/yoloooo/p/17614480.html

相关文章

  • Django博客开发教程:体验django模板
    上面我们有说过,用户发送请求的时候,视图会返回一个响应,响应可以是一个重定向,一个404错误,一个XML文档,一张图片或者是一个HTML内容的网页。前面几个返回的信息比较有限,我们重点更多是放在HTML内容的网页。我们把这样的页面按规范写好,然后都放在项目根目录下的templates文件夹里,这样的......
  • Django博客开发教程:体验django模板,
    上面我们有说过,用户发送请求的时候,视图会返回一个响应,响应可以是一个重定向,一个404错误,一个XML文档,一张图片或者是一个HTML内容的网页。前面几个返回的信息比较有限,我们重点更多是放在HTML内容的网页。我们把这样的页面按规范写好,然后都放在项目根目录下的templates文件夹里,这样的......
  • Django博客开发教程:URL与视图函数
    在讲URL与视图函数之前我们先给大家简单介绍一下用户访问网站的流程。我们访问一个网站的时候,一般先打开浏览器,然后在浏览器的地址栏里输入一个网址,也就是URL,然后回车,我们就可以在浏览器里看到这个网址返回的内容。这是我们能看得见的过程,还有一些我们看不见的过程,那就是:当我们在......
  • 嵌入式教程_DSP教程:2-27 基于USB接口的存储设备实验
    2-27基于USB接口的存储设备实验实验目的本节视频的目的是学习USBOTG的运用和工作原理,并实现USB从方式,将实验板模拟成一个USB存储设备,实现主机和实验板之间的数据传输。实验原理硬件原理图实验过程中使用的是USBOG接口T本节视频的目的是学习USBOTG的运用和工作原理,并实现USB从方......
  • Typora 激活教程(2022最新图文教程,亲测有效)
    简介Typora是一款由AbnerLee开发的轻量级Markdown编辑器,与其他Markdown编辑器不同的是,Typora没有采用源代码和预览双栏显示的方式,而是采用所见即所得的编辑方式,实现了即时预览的功能,但也可切换至源代码编辑模式。作者亲测可用,激活成功。下载Typora激活补丁下载地址......
  • Django博客开发教程:使用富文本编辑器添加数据
    在Djangoadmin后台添加数据的时候,文章内容文本框想发布一篇图文并茂的文章需就得手写Html代码,这十分吃力,也没法上传图片和文件。这显然不是我等高大上程序猿想要的。为提升效率,我们可以使用富文本编辑器添加数据。支持Django的富文本编辑器很多,这里我推荐使用DjangoUeditor,Uedi......
  • Django博客开发教程:用Admin管理后台管理数据
    上节我们我们把数据库迁移到数据库里去了,那么现在我们数据库里是个什么样的情况呢?我们点击Pycharm右上角的Database,然后在网站项目里选中我们的数据库文件db.sqlite3,把它拖到Database框里。然后点击db,就可以查看到我们的网站数据库,我们可以对数据进行增、删、改、查操作。更多......
  • Docker使用教程及常用命令
    Docker是一个开源的应用容器引擎,允许开发者将应用以及依赖打包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows上。它非常适用于持续集成与持续交付(CI/CD)。1.安装Docker首先,你需要在你的服务器上安装Docker。根据你的操作系统,可以选择适合的安装方法。(1)对于Ubunt......
  • 无涯教程-Perl - exp函数
    描述此函数将e(自然对数底数)返回到EXPR的幂。如果省略EXPR,则给出exp($_)。语法以下是此函数的简单语法-expEXPRexp返回值此函数不返回任何值。参考链接https://www.learnfk.com/perl/perl-exp.html......
  • odoo系统局域网及外网访问?快解析内网穿透方案教程
    首先,带着大家了解一下odoo是什么?前身是OpenERP。Odoo是一个广泛使用的开源ERP(企业资源规划)系统,它的主要特点之一就是高度模块化的设计。此套装可满足中小型企业的一切应用需求,例如,企业基本的进销存、采购、销售、MRP生产制造、产品保质量保障、企业招聘、员工合同、休假、午餐管......