• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

三分钟了解Django如何连接Mysql数据库

python 搞java代码 3年前 (2022-05-24) 33次浏览 已收录 0个评论

处理用户注册请求、Django连接MysqL数据库相关配置、数据库迁移命令:

my_Dproject/app01/views.py    在views函数文件中添加register函数,来处理用户注册的请求。

Tips:获取get请求数据的方式跟POST请求完全一样。

获取到用户注册信息,接下来需要连接数据库,拿到数据库的用户数据进行验证,注册的成功与否。

Django连接MySQL数据库的方法:

my_Dproject/my_Dproject/settings.py    继续回到settings配置文件中,来配置Django连接MySQL。

DATABASES = {
    'default': {
        'ENGINE': '<a href="https://www.gaodaima.com/tag/django" title="查看更多关于django的文章" target="_blank">django</a>.db.backends.<a href="https://www.gaodaima.com/tag/mysql" title="查看更多关于mysql的文章" target="_blank">mysql</a>',
        'NAME': 'my_Dproject',
        'HOST': '127.0.0.1',
        'PORT': 3306,
        'USER': 'root',
        'PASSWORD': '123',
    }
}

www#gaodaima.com来源gaodaimacom搞#^代%!码&网搞代码

还没完,接着需要去项目的init文件中添加相关信息,告诉Django用MySQL数据库连接数据库就行。

my_Dproject/my_Dproject/__Init__.py中添加下面信息:

import pymysql
pymysql.install_as_MySQLdb()

(这里需要注意:__init__.py文件还在app01文件中有,也可以在app01中的init文件中添加,效果一样。)

配置添加Django中orm的models文件

重点:Django的orm不能自动帮我们创建数据库,但是可以自动帮我们创建表,同时一个Django项目就使用一个数据库。

my_Dproject/app01/models.py  中添加映射表的相关类。

这里我们需要用到用户数据表,所以创建一张User类来映射MySQL数据库中的user用户表。

相关推荐:《Python相关教程》

class User(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=32)
    password = models.CharField(max_length=16)

映射表的类创建完毕后,需要进行关键的2步【数据库迁移命令】操作,才能创建出user表:

第一步:将数据库变动记录记录到一个文件中:

在pycharm自带的Terminal命令行中输入:

python3 manage.py makemigrations

第二步:将数据库变动同步到数据库中:

python3 manage.py migrate

重点:

以后只要涉及到数据库的一丝变动(这里主要说的是表结构),要想让变动生效一定要执行这2步数据库迁移(同步)命令!!!

这里提一个小点:我们在测试时候如果遇到下面这种情况:

解决办法是:在settings.py文件中注释掉一行代码:

来源:搞代码网:原文地址:https://www.gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:三分钟了解Django如何连接Mysql数据库

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址