数据库
python本身包含SQlite,可以使用默认数据库。
如果想要换,参考:
https://docs.djangoproject.com/en/2.1/intro/tutorial02/
设置时区
修改settings.py的TIME_ZONE参数
时区参考表:
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
INSTALLED_APPS
它包含在这个Django实例中激活的所有Django应用程序
默认有6个apps,都是Django提供的
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
这六个apps中,有些是需要用到数据表的,所以需要先创建数据表
用以下命令:
python manage.py migrate
migrate命令会查看INSTALLED_APPS设置,并根据这些app的需求创建对应的数据库表
创建模型
model(模型)就是数据的来源。它包含了要存储的数据的基本字段与行为。
继承于django.db.models.Model类的python类,定义了model
类里面的字段名,就是数据库中的数据列名
激活model
- 将自己的插件,添加到工程的INSTALLED_APPS配置中
- 然后用以下命令
python manage.py makemigrations polls
sqlmigrate命令
当执行以下命令
python manage.py sqlmigrate polls 0001
sqlmigrate命令实际上并不在数据库上运行migrate - 它只是将其打印到屏幕上,以便可以看到SQL需要什么。
migrate
python manage.py migrate
每当model有变更的时候,都可以使用以下三个步骤进行数据库的同步:
- 更改模型
- 运行 python manage.py makemigrations来创建那些变化的迁移信息
- 运行 python manage.py migrate 将改变提交到数据库
使用API
python manage.py shell
然后通过导入model来操作数据
具体可见:https://docs.djangoproject.com/en/2.1/intro/tutorial02/
创建管理员权限
网站已经加入了权限控制组件, 只要设置好管理员,通过以下网站进入:
http://127.0.0.1:8000/admin/
设置管理员的命令:
python manage.py createsuperuser
让app在admin后台可编辑
在app的admin.py中注册对应的model即可