学习笔记项目2-Django-创建数据库及应用

学习笔记项目

Django-创建数据库及应用

1. 创建数据库(迁移数据库)

$ pyton manage.py migrate

Django 默认使用 sqllite 数据库,以上命令执行完成后,根目录 learning_log 下面包含的文件:

  • learnging_log 项目
  • ll_env 虚拟环境
  • manage.py 接受命令并将其交给 Django 的相关部分去执行
  • db.sqlite3 存储项目的数据

2. 创建应用程序

  • 命令:python manage.py startap appname (在 manage.py 所在的目录下面执行该命令)
    $ python manage.py startapp learning_logs
    应用上面的命令后,创建了应用程序所需的基础设施, learning_log/learning_logs 目录下生成的文件
  • init.py
  • admin.py # 映射 models 中的数据到 Django 自带的后台
  • apps.py # 用于应用程序配置
  • migrations # 这是目录,存放初始化模型的内容
  • models.py # 定义要在应用程序中管理的数据,告诉 Django 如何执行。代码层面,一个模型就是一个类
  • tests.py # 用于进行单元测试
  • views.py # 视图文件,控制向前端输送内容

3. 在 learning_log/setting.py 中,找到 INSTALLED_APPS ,这里告诉 Django 哪些应用程序安装在项目中,

前面新建的应用 learning_logs 也必须添加到这里

# 告诉 Django 哪些应用程序安装在项目中
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 添加了 learning_logs 应用程序
    'learning_logs',
]

4. 对应用修改数据库,创建模型,创建表,使其能够存储与模型 Topic 相关的信息

$ python manage.py makemigrations learning_logs  
# 作用:让 Django 确定如何修改数据库,使其能够存储与定义的新模型相关联的数据 

执行完上面的命令后,会在 learning_logs/migrations 下面初始化模型,多了两个文件

  • 0001_initial.py # 迁移文件,后面的 migrate 命令会根据这个文件,在数据库中给模型 Topic 创建一个表
  • init.py

执行迁移命令,注意最下面一行提示

$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, learning_logs, sessions
Running migrations:
  Applying learning_logs.0001_initial... OK

若数据库发生改变需要修改数据,采取的三个步骤:

  • 修改 models.py
  • 对应用调用 makemigrations
  • 对 Django 迁移项目,使用 migrate 命令