django连接mysql数据库及建表操作实例详解


Posted in Python onDecember 10, 2019

本文实例讲述了django连接mysql数据库及建表操作。分享给大家供大家参考,具体如下:

django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西

import pymysql
pymysql.install_as_MySQLdb()

找到settIngs里面的database设置如下

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 's22', #连接的库名,这个要事先存在
    'HOST':"127.0.0.1",
    'PORT':3306,
    'USER':"root",
    'PASSWORD':"123", #这里要用引号
  }
}

下面是静态文件路径的修改

#静态文件位置比如用来存放 bootstrap样式,jquery-3.3.1.min.js
STATIC_URL = '/static/'
STATICFILES_DIRS=[
  os.path.join(BASE_DIR,"static"),
  os.path.join(BASE_DIR,"static99"),
]

然后创建一个应用app01,在pycharm的terminal下面

我的project是test1

G:\study\day18\test1> python manage.py startapp app01

告诉django有哪些app,settIngs.py里面设置,加入到最后一行,注意:如果是在创建project的同时写了Application name,它会自动加入到这里面

INSTALLED_APPS = [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'app01.apps.App01Config', #你在命令行创建app时要注意添加
]

在app01下的models.py中写类

它操作的对应关系是:

ORM 对象关系映射
类        表
对象      记录
属性      字段

在app01的modles.py里面写入,创建类

from django.db import models
# Create your models here.
class Book(models.Model):
  # 定义一个自增的id主键
  id = models.AutoField(primary_key=True)
  # 定义一个最大长度为32的varchar字段
  title = models.CharField(max_length=32)

在terminal上面执行下面两条命令

python manage.py makemigrations #检测app/models.py文件的改动
python manage.py migrate     #把上面的改动翻译成sql语句,然后去数据库中执行

好了,我们登陆mysql查看结果

mysql> show tables;
+----------------------------+
| Tables_in_s22       |
+----------------------------+
| app01_book         |
| auth_group         |
| auth_group_permissions   |
| auth_permission      |
| auth_user         |
| auth_user_groups      |
| auth_user_user_permissions |
| django_admin_log      |
| django_content_type    |
| django_migrations     |
| django_session       |
+----------------------------+
11 rows in set (0.00 sec)

如果要删除app01_book表,modles.py里面的相关联东西就可以了,之后执行

models.py

#class Book(models.Model):
#   # 定义一个自增的id主键
#   id = models.AutoField(primary_key=True)
#   # 定义一个最大长度为32的varchar字段
#   title = models.CharField(max_length=32)

接着执行

python manage.py makemigrations
python manage.py migrate

在 app01的migrations下面放的是改动的记录,不能登陆到数据库上面直接操作,否则这些记录会变乱

django连接mysql数据库及建表操作实例详解

如果想在pycharm里面直观的操作如下图

django连接mysql数据库及建表操作实例详解

1 点击侧栏的 database
2 点击+ 选择mysql
3 点击download下载相关的驱动
4 库   5 用户名    6 密码      ---》点击test connection测试数据库的连通性

具体操作如下

django连接mysql数据库及建表操作实例详解

说明:
1 点击要操作的表
2 点击+ 表示要加入记录,- 表示删除
3 点击 ⬆同步道数据库
4 刷新,查看新的记录

总结:diango操作mysql数据库的准备工作

1 用sql语句建个数据库,也就是命令登陆MySQL 使用create s22

2 告诉django去哪里连接数据库   在settIngs.py中设置

3 告诉django使用pymysql连接MySQL数据库  project/__init__.py

4 在app/models.py文件中,根据语法,创建类

5执行两个命令:makemigrations   migrate

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
python将xml xsl文件生成html文件存储示例讲解
Dec 03 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
Django 实现下载文件功能的示例
Mar 06 Python
基于Python log 的正确打开方式
Apr 28 Python
opencv python 2D直方图的示例代码
Jul 20 Python
selenium+python截图不成功的解决方法
Jan 30 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
python使用sessions模拟登录淘宝的方式
Aug 16 Python
pytorch+lstm实现的pos示例
Jan 14 Python
解决pytorch-yolov3 train 报错的问题
Feb 18 Python
Python中的xlrd模块使用原理解析
May 21 Python
Django日志及中间件模块应用案例
Sep 10 Python
python 通过视频url获取视频的宽高方式
Dec 10 #Python
Python imageio读取视频并进行编解码详解
Dec 10 #Python
Python中Subprocess的不同函数解析
Dec 10 #Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
Dec 10 #Python
python 视频逐帧保存为图片的完整实例
Dec 10 #Python
python 实现视频 图像帧提取
Dec 10 #Python
python-视频分帧&多帧合成视频实例
Dec 10 #Python
You might like
PHP的curl函数的用法总结
2019/02/14 PHP
js的2种继承方式详解
2014/03/04 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
详解Angularjs中的依赖注入
2016/03/11 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
jQuery插件开发发送短信倒计时功能代码
2017/05/09 jQuery
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
python和C语言混合编程实例
2014/06/04 Python
web.py在模板中输出美元符号的方法
2014/08/26 Python
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
python文件操作之目录遍历实例分析
2015/05/20 Python
python操作mysql数据库
2017/03/05 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
Python3远程监控程序的实现方法
2019/07/15 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
Django如何实现防止XSS攻击
2020/10/13 Python
python re.match()用法相关示例
2021/01/27 Python
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
办护照工作证明范本
2014/01/14 职场文书
大学生社团活动总结
2014/04/26 职场文书
北京奥运会主题口号
2014/06/13 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
2014年小学美术工作总结
2014/12/20 职场文书
家长通知书家长意见
2014/12/30 职场文书
React中的Context应用场景分析
2021/06/11 Javascript