下面是 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_students
和 young_students
。
10. 运行 Django 项目
最后,在终端中输入以下命令,启动 Django 项目:
python manage.py runserver
然后在浏览器中输入对应的 URL (示例1:http://localhost:8000/all/,示例2:http://localhost:8000/young/),即可查看返回的数据页面。
以上就是 Django 查询数据库并返回页面的完整攻略,希望对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django 查询数据库并返回页面的例子 - Python技术站