Django快速搭建博客(四)

迁移数据库

为了让 Django 完成翻译,创建好这些数据库表,我们再一次请出工程管理助手 manage.py。切换到 manage.py 文件所在的目录下,分别运行python manage.py makemigrations和python manage.py migrate命令:



当执行了python manage.py makemigrations后,Django 在 blog 应用的 migrations\ 目录下生成了一个 0001_initial.py 文件,这个文件是 Django 用来记录对模型做了哪些修改的文件。目前来说,我们在 models.py 文件里创建了 3 个模型类,Django 把这些变化记录在了 0001_initial.py 里。

不过此时还只是告诉了 Django 做了哪些改变,为了让 Django 真正地创建数据库表,接下来又执行了python manage.py migrate命令。Django 通过检测应用中 migrations\ 目录下的文件,得知对数据库做了哪些操作,然后它把这些操作翻译成数据库操作语言,从而把这些操作作用于真正的数据库。

你可以看到命令的输出除了 Applying blog.0001_initial... OK 外,Django 还对其它文件做了操作。这是因为除了自己建立的 blog 应用外,Django 自身还内置了很多应用,这些应用本身也是需要存储数据的。可以在 settings.py 的INSTALLED_APP设置里看到这些应用,当然目前不必关心这些。

选择数据库版本

没有安装任何的数据库软件,Django 就帮我们迁移了数据库。这是因为使用了 Python 内置的 SQLite3 数据库。

SQLite3 是一个十分轻巧的数据库,它仅有一个文件。你可以看一到项目根目录下多出了一个 db.sqlite3 的文件,这就是 SQLite3 数据库文件,Django 博客的数据都会保存在这个数据库文件里。

Django 在 settings.py 里做了一些默认的数据库配置:


可以看到默认的数据库引擎就是使用的 SQLite3。

当然一些人倾向于使用 MySQL 等大型数据库,至于 Django 如何配置 MySQL 这里就不赘述了,你可以自行使用搜索引擎或者查阅 Django 的官方文档解决。对于一个小型博客而言,SQLite3 数据库足以胜任。

你可能感兴趣的:(Django快速搭建博客(四))