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 相关文章推荐
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
tensorflow构建BP神经网络的方法
Mar 12 Python
高效使用Python字典的清单
Apr 04 Python
pandas将DataFrame的列变成行索引的方法
Apr 10 Python
Python3.6.2调用ffmpeg的方法
Jan 10 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
PIL对上传到Django的图片进行处理并保存的实例
Aug 07 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
python-sys.stdout作为默认函数参数的实现
Feb 21 Python
详解如何用Python实现感知器算法
Jun 18 Python
linux中nohup和后台运行进程查看及终止
Jun 24 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函数计算中英文字符串长度的方法
2014/11/11 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
javascript实现画板功能
2020/04/12 Javascript
js实现网页随机验证码
2020/10/19 Javascript
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
对python中各个response的使用说明
2020/03/28 Python
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
MAC彩妆英国官网:M·A·C UK
2018/05/30 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
params有什么用
2016/03/01 面试题
一套中级Java程序员笔试题
2015/01/14 面试题
运动会入场词200字
2014/02/15 职场文书
员工合理化建议书
2014/05/19 职场文书
家长会欢迎标语
2014/06/24 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
给医院的感谢信
2015/01/21 职场文书
小学运动会加油稿
2015/07/22 职场文书
SQL之各种join小结详细讲解
2021/08/04 MySQL