码迷,mamicode.com
首页 > 数据库 > 详细

Django---Django连接Mysql数据库

时间:2020-02-14 18:15:25      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:进入   会话   utf-8   nbsp   length   tle   oracl   自动生成   数据   

  前面介绍了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 

Django---Django连接Mysql数据库

标签:进入   会话   utf-8   nbsp   length   tle   oracl   自动生成   数据   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!