Django学习记录-2-数据库

Django学习记录-2-数据库

文章目录

虽然网上教程都很多,但是感觉自己记录一下才属于自己,之后想找也方面一点,文采不佳看的不爽可绕道。

参考贴

MySQL数据库下载及安装教程

从零开始的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()
相关推荐
晓梦林8 小时前
[ACTF2020 新生赛]BackupFile学习笔记
android·笔记·学习
2601_963870178 小时前
【计算机毕业设计】基于Spring Boot的社区老年大学课程报名与学习系统的设计与实现
java·spring boot·学习
xian_wwq9 小时前
【学习笔记】解剖 Claude Code —— Anthropic 的 Harness 参考实现-09/15
人工智能·笔记·学习
其实防守也摸鱼9 小时前
Kimi K3深度测评:长文本之外的真实力
运维·开发语言·网络·人工智能·python·学习·安全
weixin_BYSJ19879 小时前
springboot3家政平台小程序--附源码00904
java·javascript·spring boot·python·django·flask·php
晓梦林9 小时前
Tools靶场学习笔记
笔记·学习
xian_wwq10 小时前
【学习笔记】什么是Harness Engineering- 01/15
人工智能·笔记·学习
xian_wwq10 小时前
【学习笔记】Agent 安全护栏 —— 当 Agent DROP TABLE 了你的生产数据库-07/15
笔记·学习·安全
lichuangcsdn11 小时前
【Spring AI 学习(一)】spring ai是什么
人工智能·学习·spring·spring ai
MartinYeung511 小时前
[论文学习]AgentDojo:用于评估LLM智能体提示注入攻击与防御的动态环境
网络·学习