Django 查询数据库并返回页面的例子

yizhihongxing

下面是 Django 查询数据库并返回页面的例子的完整攻略:

1. 创建一个 Django 项目

首先需要在本地安装好 Django,并创建一个 Django 项目。打开终端,输入以下命令:

django-admin startproject myproject

这里的 myproject 可以改成任何你想要的项目名。

2. 创建一个 Django 应用

在生成的项目中,我们需要创建一个应用。在终端中输入以下命令:

cd myproject

python manage.py startapp myapp

这里的 myapp 也可以改成任何你想要的应用名。

3. 配置数据库

打开 myproject/settings.py 文件,找到 DATABASES 配置,根据自己的数据库信息进行配置,示例代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test_db',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

这里假设使用的是 MySQL 数据库,数据库名称为 test_db,用户名为 root,密码为 123456,连接地址为本机的 127.0.0.1,端口号为 3306

4. 定义模型

myapp/models.py 文件中定义模型,用于表示我们要查询的数据。这里以一个简单的 Student 数据库为例,模型代码如下:

from django.db import models

class Student(models.Model):
    name = models.CharField(max_length=20)
    age = models.IntegerField()
    gender = models.CharField(max_length=10)

这里定义了一个 Student 模型,包含了 name、age 和 gender 三个字段。

5. 执行数据迁移

在终端中输入以下命令,执行数据迁移:

python manage.py makemigrations

python manage.py migrate

6. 添加数据

在终端中打开 Django shell,添加一些数据:

python manage.py shell

>>> from myapp.models import Student

>>> student1 = Student(name='Tom', age=18, gender='male')
>>> student1.save()

>>> student2 = Student(name='Mary', age=20, gender='female')
>>> student2.save()

7. 编写视图函数

myapp/views.py 文件中编写视图函数,用于查询数据库并返回数据。以下是两个简单的示例:

from django.shortcuts import render
from myapp.models import Student

# 示例1:返回全部数据
def all_students(request):
    students = Student.objects.all()
    return render(request, 'student_list.html', {'students': students})

# 示例2:返回年龄小于20岁的学生
def young_students(request):
    students = Student.objects.filter(age__lt=20)
    return render(request, 'student_list.html', {'students': students})

这里编写了两个视图函数,一个返回全部数据,一个返回年龄小于20岁的学生。

8. 编写模板

myapp/templates 目录下创建 student_list.html 文件,用于显示返回的数据。以下是示例代码:

<!DOCTYPE html>
<html>
<head>
    <title>Student List</title>
</head>
<body>
    <h1>Student List</h1>
    <table>
        <thead>
            <tr>
                <th>Name</th>
                <th>Age</th>
                <th>Gender</th>
            </tr>
        </thead>
        <tbody>
            {% for student in students %}
            <tr>
                <td>{{ student.name }}</td>
                <td>{{ student.age }}</td>
                <td>{{ student.gender }}</td>
            </tr>
            {% endfor %}
        </tbody>
    </table>
</body>
</html>

这里使用了 Django 的模板语言来动态生成 HTML 标记,将返回的数据以表格的形式展示出来。

9. 配置 URL

myapp/urls.py 文件中配置 URL,将视图函数和 URL 对应起来。以下是示例代码:

from django.urls import path
from myapp.views import all_students, young_students

urlpatterns = [
    path('all/', all_students),
    path('young/', young_students),
]

这里分别定义了两个 URL,分别对应视图函数 all_studentsyoung_students

10. 运行 Django 项目

最后,在终端中输入以下命令,启动 Django 项目:

python manage.py runserver

然后在浏览器中输入对应的 URL (示例1:http://localhost:8000/all/,示例2:http://localhost:8000/young/),即可查看返回的数据页面。

以上就是 Django 查询数据库并返回页面的完整攻略,希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django 查询数据库并返回页面的例子 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • 如何在django里上传csv文件并进行入库处理的方法

    下面是在Django中上传CSV文件并进行入库处理的详细攻略: 1. 添加模型 首先,我们需要在Django中创建一个模型来存储CSV文件中的数据。我们可以使用Django自带的模型(例如在models.py文件中添加一个名为CSVData的模型): from django.db import models class CSVData(models.Mode…

    人工智能概览 2023年5月25日
    00
  • 用Python实现定时备份Mongodb数据并上传到FTP服务器

    当需要对MongoDB数据进行备份时,可以通过使用Python编写脚本,实现定时备份MongoDB数据,并将数据上传到FTP服务器。下面是实现这个过程的完整攻略: 1. 安装必要的库 在开始编写Python脚本之前,需要先安装必要的库,包括: pymongo:用于连接和操作MongoDB数据库 schedule:用于实现定时任务 ftplib:用于连接和上传…

    人工智能概论 2023年5月25日
    00
  • Python OpenCV视频截取并保存实现代码

    下面针对Python OpenCV视频截取并保存实现代码的完整攻略进行详细讲解。 1. 导入OpenCV库 在Python中运用OpenCV库实现视频截取需要先导入相关库。使用以下代码实现: import cv2 2. 打开视频文件 使用OpenCV的VideoCapture函数打开视频文件,你可以将视频文件的地址作为参数向函数传递。 cap = cv2.V…

    人工智能概论 2023年5月24日
    00
  • Android实现腾讯新闻的新闻类别导航效果

    实现腾讯新闻的新闻类别导航效果需要以下几个步骤: 1. 布局设计 首先在xml文件中使用HorizontalScrollView和LinearLayout设置水平滚动的新闻分类导航,同时在xml文件中使用ViewPager和TabLayout控件来实现多页面的新闻列表展示以及指示器的显示。 示例一: <HorizontalScrollView> …

    人工智能概论 2023年5月25日
    00
  • MongoDB多条件模糊查询示例代码

    下面是关于MongoDB多条件模糊查询的详细攻略。 1. 简介 MongoDB是开源NoSQL数据库的一种,它存储数据的方式不同于传统的关系型数据库,而是采用了文档嵌套的方式存储数据。MongoDB的模糊查询与关系型数据库的模糊查询类似,但是它支持更多的查询方式。 2. 多条件模糊查询示例 MongoDB的多条件查询可以使用$and、$or、$nor三个操作…

    人工智能概论 2023年5月25日
    00
  • PyTorch中Tensor的拼接与拆分的实现

    下面是PyTorch中Tensor的拼接与拆分的实现攻略: 一、Tensor的拼接 在PyTorch中,我们可以使用torch.cat()函数将多个Tensor进行拼接。具体用法如下: torch.cat(tensors, dim=0, *, out=None) → Tensor 其中,参数tensors是一个需要拼接的Tensor序列,dim是拼接维度,默…

    人工智能概论 2023年5月25日
    00
  • Python实现滑块拼图验证码详解

    非常感谢您对本网站的关注。 首先,该攻略主要分为以下几个部分: 介绍滑块拼图验证码的工作机制和实现原理 简要介绍Python网络爬虫和Selenium库的基础知识 详细讲解滑块拼图验证码的Python实现步骤 以下是具体的实现步骤: 1. 导入相关库 首先,需要导入一些Python库来实现滑块拼图验证码的验证。其中,主要使用到了Selenium库和Pillo…

    人工智能概论 2023年5月25日
    00
  • 单点登录的三种方式和JWT的介绍与使用

    单点登录(Single Sign-On, SSO)是指在多个应用系统中,用户只需要登录一次,就可以访问所有相互信任的应用系统资源。 实现单点登录有三种方式: 接口集成方式 这种方式是指使用后端服务的方式进行用户认证,前端应用只需将用户凭证发送至后端服务进行认证,认证通过后返回相关的用户信息至前端。此方式需要在前后端分离场景中使用。 Token方式 这种方式是…

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部