下面我将为您详细讲解“Django + MySQL的使用示例”的完整攻略,包含两条示例说明。
示例一:连接MySQL数据库
1. 环境准备
首先,需要安装以下软件:
- Python
- Django
- MySQL
2. 创建Django项目
使用以下命令创建一个名为mysite的Django项目:
django-admin startproject mysite
3. 创建Django应用程序
通过以下命令创建一个名为myapp的Django应用程序:
python manage.py startapp myapp
4. 修改settings.py文件
在mysite/settings.py文件中添加以下内容,配置所使用的MySQL数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb', # 数据库名称
'USER': 'myuser', # 数据库用户名
'PASSWORD': 'mypass', # 数据库密码
'HOST': 'localhost', # 数据库地址
'PORT': '3306', # 端口号
'OPTIONS': {
'charset': 'utf8mb4', # 数据库编码方式
},
}
}
5. 创建模型
在myapp/models.py文件中添加以下内容,定义一个名为Person的模型:
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField()
email = models.EmailField()
6. 创建数据表
使用以下命令创建名为myapp_person的数据表:
python manage.py makemigrations myapp
python manage.py migrate
7. 插入数据
使用以下Python代码插入数据:
from myapp.models import Person
p = Person(name='Alice', age=20, email='alice@example.com')
p.save()
8. 查询数据
使用以下Python代码查询数据:
from myapp.models import Person
persons = Person.objects.all()
for person in persons:
print(person.name, person.age, person.email)
至此,完成了连接MySQL数据库的Django示例。
示例二:使用MySQL数据库缓存视图
1. 环境准备
首先,需要安装以下软件:
- Python
- Django
- MySQL
2. 创建Django项目
与示例一相同,使用以下命令创建一个名为mysite的Django项目:
django-admin startproject mysite
3. 创建Django应用程序
与示例一相同,使用以下命令创建一个名为myapp的Django应用程序:
python manage.py startapp myapp
4. 修改settings.py文件
在mysite/settings.py文件中添加以下内容,配置所使用的MySQL数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb', # 数据库名称
'USER': 'myuser', # 数据库用户名
'PASSWORD': 'mypass', # 数据库密码
'HOST': 'localhost', # 数据库地址
'PORT': '3306', # 端口号
'OPTIONS': {
'charset': 'utf8mb4', # 数据库编码方式
},
},
# 缓存使用的数据库
'cache': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mycache', # 缓存数据库名称
'USER': 'myuser', # 缓存数据库用户名
'PASSWORD': 'mypass', # 缓存数据库密码
'HOST': 'localhost', # 缓存数据库地址
'PORT': '3306', # 缓存数据库端口号
'OPTIONS': {
'charset': 'utf8mb4', # 缓存数据库编码方式
},
}
}
# 配置缓存
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'cache_table', # 缓存表名称
'OPTIONS': {
'MAX_ENTRIES': 50000, # 最大缓存数
'CULL_FREQUENCY': 3, # 缓存清理频率
},
},
'db': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'cache_table', # 缓存表名称
'OPTIONS': {
'MAX_ENTRIES': 50000, # 最大缓存数
'CULL_FREQUENCY': 3, # 缓存清理频率
},
}
}
5. 编写视图
在myapp/views.py文件中添加以下内容,定义一个名为hello的视图:
from django.shortcuts import render
from django.views.decorators.cache import cache_page
@cache_page(60 * 15, cache='default') # 缓存15分钟
def hello(request):
return render(request, 'hello.html')
6. 编写模板
在myapp/templates/hello.html文件中添加以下内容,用于展示数据:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello World</title>
</head>
<body>
<h1>Hello World</h1>
<p>{{ content }}</p>
</body>
</html>
7. 配置缓存表
使用以下命令创建表,用于存储缓存数据:
python manage.py createcachetable cache_table
8. 运行项目
使用以下命令运行项目:
python manage.py runserver
在浏览器中访问http://127.0.0.1:8000/hello,即可看到“Hello World”的输出。在第一次访问后,缓存会被保存在MySQL数据库中。再次访问时,将从缓存中获取数据,而不是重新生成数据。
至此,完成了使用MySQL数据库缓存视图的Django示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django+mysql的使用示例 - Python技术站