Django学习记录-2-数据库
文章目录
虽然网上教程都很多,但是感觉自己记录一下才属于自己,之后想找也方面一点,文采不佳看的不爽可绕道。
参考贴
从零开始的Django框架入门到实战教程(内含实战实例) - 02 请求与相应、数据库操作(ORM、MySQL)(学习笔记)
MySQLdb、Mysqlclient、PyMySQL 三个python的MySQL库的比较和总结
连接数据库
Django的OPM原生依赖mysqlclient
,所以虽然针对MySQL使用PyMySQL
会更快,但是以学习为第一目的,这里使用mysqlclient
在终端登录上MySQL后,参考参考贴创建一个test库
bash
create database test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
在Django主文件中的settings.py
中修改关键词:
python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test', # 刚刚在MySQL中创建的数据库名
'USER': 'root',
'PASSWORD': '123456',
'HOSR': '127.0.0.1',
'POST': '3306',
}
}
参考参考贴编写models.py,然后通过manage添加到MySQL中
bash
python manage.py makemigrations
python manage.py migrate

后台查看数据库
要想在浏览器后台中查看,可以使用manage的createsuperuser添加一个超管账户,然后通过urls.py中的urlpatterns = [path('admin/', admin.site.urls),]
提供的管理员页面查看
同时要在app目录下的admin.py
文件,将models.py
中设置的数据库与admin进行绑定:
只要完成了之前的migrate,这部分内容是热加载的,把admin网页刷新一下就可以看到了
后台改为中文
在主项目的settings.py中找到LANGUAGE_CODE
,将其改为zh-hans
就可以了
table增删改查
参考参考贴
python
# 增
teacherInfo.objects.create(name=name, urlhash=urlhash, url=url)
# 删
## 鸽
# 改
teacherInfo.objects.filter(name=name).update(url=url, urlhash=urlhash)
# 查
teacherInfodict = {info.name: info for info in teacherInfo.objects.all()}
Python使用hash保持一致
python
urlhash = hashlib.md5(url.encode()).hexdigest()