Django学习数据库操作(10)

2019-09-09 17:00:52 浏览数 (1)

我们学习 HTML 文件的数据返回,替换其中的内容我们是固定的格式,现在我们学习从数据库的操作,从而能让我们的页面展现更多的内容。

如果不了解数据库的话,暂时就当做一个Excel 表格就好了吧..

数据库配置:

mysite/settings.py 。这是个包含了 Django 项目设置的 Python 模块。

通常,这个配置文件使用 SQLite 作为默认数据库。如果你不熟悉数据库,或者只是想尝试下 Django,这是最简单的选择。Python 内置 SQLite,所以你无需安装额外东西来使用它。当你开始一个真正的项目时,你可能更倾向使用一个更具扩展性的数据库,例如 PostgreSQL,避免中途切换数据库这个令人头疼的问题。

未做更改使用的是sqlite

使用其他数据库我们放在后面说。


我们还是用前面的项目 myblog 。

在 settings.py 文件中 INSTALLED_APP 列表里面添加我们的 blog 应用。

数据库操作的文件是 blog/models.py

Django 只需要只需要定义数据模型,然后其它的杂七杂八代码你都不用关心,它们会自动从模型生成。

我们新建一个 类 ,这个类就是数据库中的一个表,这个类一定要继承 models.Model

表里面有字段类型,我们根据需要设计:

代码语言:javascript复制
class Article(models.Model):
    """ 博客模型
    建立类需要继承 models.Model
    一个 id 字段会被自动添加,但是这种行为可以被改写。
    Django 依据你在 配置文件 中指定的数据库后端生成对应的 SQL 语句。
    """

    # 每个字段都被指定为一个类属性,并且每个属性映射为一个数据库列。
    # charfield是字符串类型  max_length 设置最大值 参数第一个是备注
    title = models.CharField('博客题目', max_length = 100)  #博客题目
    category = models.CharField('博客分类', max_length = 50)  #博客分类 可为空
    content = models.TextField('文章正文', blank = True, null = True)  #博客文章正文

添加完后,在终端输入 :

代码语言:javascript复制
python manage.py migrate

这个 migrate 命令检查 INSTALLED_APPS 设置,为其中的每个应用创建需要的数据表,至于具体会创建什么,这取决于你的 mysite/settings.py 设置文件和每个应用的数据库迁移文件(我们稍后会介绍这个)。这个命令所执行的每个迁移操作都会在终端中显示出来。

然后我们输入:

代码语言:javascript复制
python manage.py makemigrations polls

通过运行 makemigrations 命令,Django 会检测你对模型文件的修改(在这种情况下,你已经取得了新的),并且把修改的部分储存为一次 迁移。

迁移是 Django 对于模型定义(也就是你的数据库结构)的变化的储存形式 - 没那么玄乎,它们其实也只是一些你磁盘上的文件。如果你想的话,你可以阅读一下你模型的迁移数据,它被储存在 blog/migrations/0001_initial.py 里。别担心,你不需要每次都阅读迁移文件,但是它们被设计成人类可读的形式,这是为了便于你手动修改它们。

0 人点赞