大家好,我是csdn的博主:lqj_本人
这是我的个人博客主页:
lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm=1011.2415.3001.5343哔哩哔哩欢迎关注:小淼Develop
小淼Develop的个人空间-小淼Develop个人主页-哔哩哔哩视频
本篇文章主要讲述:快速上手,pythonweb开发Django框架
目录
mysqlclient 模块
ORM
1.手动创建数据库
启动自己的mysql服务
cmd命令窗创建数据库
2.Djngo连接数据库
在setting.py文件中进行配置和修改。
3.确保app已注册
4.Djngo操作表(自动创建表的命名方式:注册的app名字+class的类名“UserInfo”)
在models.py文件中写入(示范代码:在app01_userinfo表中创建数据结构:
name,password,age)
到此,有可能发生的报错
问题解决
数据库中的数据表
数据表的数据结构
删除表/删除表中的数据
修改表数据结构
总结
Django支持mysqlclient 模块,通过它来连接mysql数据库大大节省了,我们使用pymysql模块库的一些繁琐的操作。
pip install mysqlclient
ORM可以帮助我们做两件事:
1.创建、修改、删除数据库中的表(不用写sql语句)但是【无法创建数据库,数据库必须我们手动在mysql中创建】
2.操作表中的数据(不用写sql语句)
所以:
方式1:进入mysql中输入以下命令:
net start 你的mysql名字
方式2:进入“任务管理器”>右键启动
create database 数据库名字;
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名字',
'USER': 'mysql用户名',
'PASSWORD': 'mysql密码器',
'HOST': '127.0.0.1', # 安装MySQL数据库的机器
'PORT': 3306 # 端口
}
}
在setting.py中查看到(app01已经注册)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config'
]
from django.db import models
class UserInfo(models.Model):
name = models.CharField(max_length=32)
password = models.CharField(max_length=64)
age = models.IntegerField()
写入之后紧接着在pycharm中的命令窗口,在Django文件的根目录下输入命令:
python manage.py makemigrations
此时观察migrations文件夹下是否自动添加了py文件(如下图所示:)
然后,在输入命令:
python manage.py migrate
django.db.utils.NotSupportedError: MySQL 5.7 or later is required
这是安装的Django与mysql的版本不兼容导致。
1.降低我们Django模块库的版本
2.创新安装一个8版本级以上的mysql数据库
解决兼容问题后,重新运行命令:python manage.py migrate
在models.py文件中想要删除表的类(如:userinfo类)/数据结构(如:name字段)注释或删除,并重新执行下面命令
python manage.py makemigrations
python manage.py migrate
在表中新增列时,由于已存在列表中可能已有数据,所以新增列必须要制定新增列对应的数据:
1,手动输入一个值
设置默认值
age = models.IntegerField(default=2)
允许为空
age = models.IntegerField(null=True,blank=True)
以后在开发中如果想要对表结构进行调整:
在models.py文件中操作即可。
python manage.py makemigrations
python manage.py migrate