学习笔记项目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 命令
您对以上内容有何建议或意见,请写下来告诉我,谢谢!!!