Django---Django连接Mysql数据库

  前面介绍了Django平台的数据交互,这些数据都是在本地存放着,修改内容或者重新启动服务,数据就消失了,如果我们把数据存放在数据库中,不就保存了吗?

Django数据库

Django中自带的也有数据库(sqlite3),自带的轻量级数据库sqlite3,已经完全够了,当然大家都很数据Mysql数据库,我们也可以通过Django连接Mysql数据库

连接Mysql数据库

在文件settings,py文件下中找到以下配置信息,该信息为连接默认数据库(sqlite3)

# 连接数据库
DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.sqlite3‘,
        ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),
    }
}

如果想要连接Mysql数据库,我们可以进行修改成以下参数

# 配置MYsql数据库
DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.mysql‘,
        ‘NAME‘: ‘test‘, # 数据库名称,
        ‘HOST‘: ‘localhost‘, # 主机地址
        ‘USER‘: ‘root‘, # 数据库用户
        ‘PASSWORD‘: ‘821006052‘, # 密码
        ‘PORT‘: 3306 # mysql的端口默认3306
    }
}

数据库已经连接成功了。但是还需要安装mysql插件mysqlclient

pip install mysqlclient

操作数据库

在文件models.py下创建表名以及表字段

# model.py

# 创建表名已经表字段
from django.db import models
# class名代表表名,models.Model固定写法
class User(models.Model):
    # username,password 表示创建字段名,长度为32
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=32)

打开cmd,跳转到项目目录下执行以下命令,同步数据库

# 同步数据库
python manage.py makemigrations

这个时候会看到项目中的migrations中自动生成了一个文件 0001_initial.py, 这个时候我们继续执行命令

# 创建数据库表python manage.py migrate

这个时候我们都已经把数据库全部创建完成了。

这个时候会创建一些Django自带的表,如果不需要的话我们可以在sttings.py文件中进行进行屏幕

INSTALLED_APPS = [
    ‘django.contrib.admin‘,    # admin管理后台站点
    ‘django.contrib.auth‘,    # 身份认证系统
    ‘django.contrib.contenttypes‘,   # 内容类型框架
    ‘django.contrib.sessions‘,    # 会话框架
    ‘django.contrib.messages‘,    # 消息框架
    ‘django.contrib.staticfiles‘,    # 静态文件管理框架
    ‘Djtest‘,    # 项目应用
]

添加数据到数据库

前面工作已经全部完成了,我们直接开始编写代码写入数据库中,这里还是使用上一篇数据交互的代码完成。我们直接在视图中进行修改代码

# views.py

def index(request):
    if  request.method == ‘POST‘:
        username = request.POST.get(‘username‘)
        password = request.POST.get(‘password‘)
        # 将数据保存到数据库
        models.User.objects.create(username=username,password=password)

  return render(request, ‘index.html‘, {‘data‘:username})

这个地方需要注意前面写的html接收的内容,然后再返回给用户浏览器,这里修改了index.html文件

# index.html<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
    <title>安静博客乐园</title>
</head>
<body>
<center>
    <li>欢迎您,
        <tbody>
                <tr>
                    <td>{{data}}</td>
                </tr>
            </tbody>
    </li>
</center>
</ul>
</body>
</html>

最后工作了,启动Django服务,进入到对应的地址,输入用户名和密码,点击提交

提交过后,来到我们的数据库中,进行查看,数据是否提交(我这里输入多次不同的数据)

可以发现数据已经全部都存到数据库中了。这样就可以把提交过的数据全部都保存在数据库中,然而不会重启服务器导致数据丢失了

其他数据库连接信息配置

# 连接 PostgreSQL
django.db.backends.postgresql
# 连接 mysql
django.db.backends.mysql
# 连接 sqlite
django.db.backends.sqlite3
# 连接 oracle
django.db.backends.oracle 

原文地址:https://www.cnblogs.com/qican/p/12098553.html

时间: 2024-07-30 04:08:34

Django---Django连接Mysql数据库的相关文章

django 中连接mysql数据库的操作步骤

django中连接mysql数据库的操作步骤: 1 settings配置文件中 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'orm02', # 库的名字 'USER':'root', # 数据库的用户名 'PASSWORD':'666', # 数据库的密码 'HOST':'127.0.0.1', 'PORT':3306, } } 2 项目文件夹下的init文件中写上下面内容,用pymysql替

服务器重启后 django无法连接mysql数据库的解决方法

问题描述: 远程linux服务器,centOS7系统 采用uwsgi+django+pymysql的方式连接mysql数据库. 在服务器重启之后, 启用uwsgi之后(直接运行django运行命令也是一样python manage.py runserver), 无法连接到数据库. 报错: cryptography is required for sha256_password or caching_sha2_password 解决方法: 1. 手动连接数据库一次 mysql -u root -p

Pycharm中的Django项目连接mysql数据库

一.安装Pycharm和Django就不详细说了,自行百度 二.新建Django项目也不说了 三.配置Django连接到mysql 1.models.py写一个类,继承models.Model class Book(models.Model): name=models.CharField(max_length=20) price=models.IntegerField() pub_date=models.DateField() 2.修改settings.py文件 DATABASES = { 'd

基于Python3.6使用Django框架连接mysql数据库的驱动模块安装解决办法

解决办法1 使用PyMySQL模块,直接使用pip install pymysql即可. 参考文章:https://www.cnblogs.com/wcwnina/p/8719482.html 原文内容: python3不支持MySQLdb,可用pymysql代替.cmd安装pymysql:pip install pymysql. 在项目文件夹下的_init_.py添加如下代码即可. import pymysql pymysql.install_as_MySQLdb() 然后在Terminal中

Django项目连接mysql数据库

Python为3版本的 首先需要安装pymysql 然后在自己的应用里面的的__init__.py文件里面添加如下内容: import pymysql pymysql.install_as_MySQLdb() 不是项目里面的__init__.py文件里面添加!!!

python3下django连接mysql数据库

1.安装pymysql pip install pymysql 有一点需要注意,有的系统(比如ubuntu16.04)同时安装了python2和python3,而比较新的django需要在python3下运行,所以在安装pymysql时可能要使用命令 pip3 install pymysql 进行安装. 2.修改项目settings.py 找到并修改DATABASES为如下形式: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.m

django配置使用mysql数据库运行报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named &#39;MySQLdb&#39;

今天在把django的默认数据库sqlite3切换为MySQL数据库时报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb' 报错原因:django虚拟环境没有安装pymysql模块 解决: 先安装pymysql:pip install pymysql 然后在项目的 init.py 文件中添加以下代码: 把django的默认数据库sqlite3切

python3.4连接mysql数据库的方法

python3.4连接mysql数据库的方法 发布时间:2014-08-04编辑:www.jbxue.com 本文介绍了python3.4连接mysql数据库的方法,在python3.4中不能用mysqldb连接mysql,可以使用pymysql完成连接mysql数据库,需要的朋友参考下. 在python3.4中用原来python2.7的mysqldb已不能连接mysql数据库了. 喜欢mysqldb的朋友,可以参考: Python实例 mysqldb操作数据库 python MySQLdb操作

Python连接MySQL数据库之pymysql模块使用

Python连接MySQL数据库之pymysql模块使用 Python3连接MySQL PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. Django中也可以使用PyMySQL连接MySQL数据库. PyMySQL安装 pip install pymysql 连接数据库 注意事项 在进行本文以下内容之前需要注意: 你有一个MySQL数据库,并且已经启动. 你有可以连接该数据库的用户名和密码 你有一个有权限操作的datab