每天半小时,学习Python第33天。
教程《Python编号从入门到实践》[美] Eric Matthes 著
第18章 Django入门
Django的入门给我整的有点懵。大概捋了一下步骤:
(1)建立虚拟环境 python -m venv 虚拟环境名
(2)安装virtualenv
(3)激活虚拟环境
(4)安装Django
(5)在Django中创建项目
(6)创建数据库
(7)创建应用程序:Django项目是由一系列应用程序组成,它们协同工作,让项目成为一个整体。
(8)定义模型(models.py)- 迁移模型(执行manage.py命令) - 注册模型(admin.py)
(9)激活模型
(10)Django管理网站:A. 创建超级用户 B.向管理网站注册模型 C.添加主题
关于迁移模型的两个命令:
[1] python .\manage.py makemigrations learning_logs
[2] python .\manage.py migrate
python .\manage.py makemigrations learning_logs 和 python .\manage.py migrate 是Django框架中用于处理数据库迁移的两个重要命令。下面分别解释它们的作用:
[ python .\manage.py makemigrations learning_logs ]
这条命令的作用是检查learning_logs应用中的模型更改,并为这些更改创建新的迁移文件。当你的模型(即定义在models.py文件中的类)发生变化时,比如添加了一个字段、删除了一个模型或者修改了某个字段的属性,Django不会直接将这些更改应用到数据库中,而是会生成一个迁移文件来记录这些更改。这个迁移文件包含了所有必要的SQL语句或其他数据库操作,以便在数据库中安全地应用这些更改。
迁移文件会被保存在应用的migrations目录下,通常以00XX_initial.py或00YY_auto_YYYYMMDD_HHMM.py这样的命名格式。其中XX或YY是迁移的序号,而YYYYMMDD_HHMM则代表了迁移文件创建的时间戳。
[ python .\manage.py migrate ]
这条命令的作用是应用所有尚未应用的迁移至数据库。当你运行makemigrations后,如果没有立即运行migrate,那么这些更改还没有真正反映到数据库中。migrate命令会查找所有未应用的迁移,并按照顺序执行它们,这样可以确保数据库结构与你的模型定义相匹配。
如果你的数据库已经存在一些数据,migrate命令会尽可能地保留这些数据,只在必要时进行数据迁移或转换,以适应模型的新结构。
总结:
makemigrations准备迁移文件,但不会改变数据库。
migrate应用迁移,真正改变数据库结构。
在开发过程中,通常先运行makemigrations来生成迁移文件,确认无误后再运行migrate来更新数据库。如果在开发过程中没有立即应用迁移,那么在部署到生产环境前,一定要记得运行migrate,以确保生产环境的数据库是最新的。
摘录: 无
问题: 无
题外话:
有4天没有更新了,这几天不知道怎么回事,感觉异常疲惫。是天气闷热的原因吗?感觉下班之后,身体就被掏空了。越堕落了2 、3天,不运动,不节制饮食,自我放纵。
昨天晚上躺在床上,突然想,是否真的要在7月底提辞职,还是说再缓缓,挨到10月底。11、12、1月份学习三个月,正好过完年找工作,这样岂不更好一些?9、10月份正值毕业生找工作,而年后的竞争或许更乐观一些,况且就业环境或许到了2025年会变好一些呢?!