本文实例讲述了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下面放的是改动的记录,不能登陆到数据库上面直接操作,否则这些记录会变乱
如果想在pycharm里面直观的操作如下图
1 点击侧栏的 database
2 点击+ 选择mysql
3 点击download下载相关的驱动
4 库 5 用户名 6 密码 ---》点击test connection测试数据库的连通性
具体操作如下
说明:
1 点击要操作的表
2 点击+ 表示要加入记录,- 表示删除
3 点击 "color: #0000ff">app/models.py文件中,根据语法,创建类5执行两个命令:
makemigrations migrate
希望本文所述对大家基于Django框架的Python程序设计有所帮助。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]