django+mysql的使用示例

下面我将为您详细讲解“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技术站

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

相关文章

  • pycharm、Django+node.js、vue搭建web项目

    参考文章:https://www.wandouip.com/t5i35466/  在此感谢 本篇接着上一篇:windows10使用npm安装vue、vue-cli  首先Django项目是搭建好的,就是新建一个Django项目,然后建一个app 在terminal运行命令:vue-init webpack vuepro   其中vuepro是我web前端项目…

    2023年4月9日
    00
  • 正确的理解和使用Django信号(Signals)

    理解和使用Django信号(Signals)是Python Web框架Django中很重要的一部分。这个机制可以让应用程序在发生特定的事件时就可以通知其他部分,而不需要直接调用它们,从而实现了模块之间的解耦合。下面是正确的理解和使用Django信号的完整攻略: 1. 信号简介 Django信号是一个内置的发布-订阅模型,用于解耦不同部分的应用程序。信号可以用…

    Django 2023年5月16日
    00
  • 【服务后端】Django的多表数据查询

    有数据表class和ClassUserTemp表     需求是要筛选出某个用户lUser管理的班级下ClassUserTemp的所有数据。 Class表的Owner字段表示关联的管理员用户。 只需要使用__关联属性即可,条件路径就是 班级  –> 班级的管理员  –> 与用户比较 pUserClasses = ClassUserTemp.o…

    Django 2023年4月13日
    00
  • django – 总结 – redis缓存

    八、redis 补充- 操作 – 增删改查 对字典,重新设计结构,增删改查。 hmset  keys  hget   scan_iter  hgetall  import redis import json conn = redis.Redis(host=’140.143.227.206′,port=6379,password=’1234′) “”” —…

    Django 2023年4月13日
    00
  • Django定时任务

    需求背景 需求为每天定时发送推送给app,这个需求可以使用linux自带的crontab实现,但是项目使用了django开发,故使用django自带的方法来实现。 安装 pip3 install django-crontab 设置 将app添加到settings.py中 INSTALLED_APPS = { ‘django_crontab’, } 使用方法 …

    Django 2023年4月13日
    00
  • Django中反向生成models

    我们在展示django ORM反向生成之前,我们先说一下怎么样正向生成代码。 正向生成,指的是先创建model.py文件,然后通过django内置的编译器,在数据库如mysql中创建出符合model.py的表。 反向生成,指的是先在数据库中create table,然后通过django内置的编译器,生成model代码。 一 准备工作 创建django工程以及…

    Django 2023年4月12日
    00
  • Django创建一个项目:

    安装Django后创建一个项目: 通过命令方式创建项目: 创建一个APP: App是django的组成部分;一个App代表一个模块,所有的URL请求的都是app来处理的。比如一个视频网站,里面有电影模块,电视剧模块,综艺模块,动漫模块;一个Django可以有多个模块,一个模块可以被不同的项目使用。 注意:添加app后需要在项目的setting中设置:(INS…

    2023年4月9日
    00
  • django-树形结构

      树形结构:首先是构造一种层级关系,主要用于层级菜单,或是一种递进的情况.例:下面是一种层级关系,Pid字段后面的数字,指定的就是id数字的子层级.Pid等于None是根目录.comment_list=[ {“id”:1,”content”:”…”,”Pid”:None,”children_comments”:[]}, {“id”:2,”content…

    Django 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部