你的项目名称:your_project_name
1.配置数据库
默认是使用SQLite的数据库,如果要使用其他的数据库需要改变your_project_name/setting.py 中的DATABASES变量中的default字段
Django默认配置使用SQLite
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'mydatabase', } }
如果你要使用自己的数据库服务,则首先要确认你拥有该数据库服务,然后更改default字段,并且必须要填上HOST,PASSWD,USER等字段内容
Django支持多个数据库
(django.db.backends.postgresql,
django.db.backends.mysql,
django.db.backends.sqlite3,
django.db.backends.oracle)
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '5432', } }
如果你是在windows的环境下运行Django的app,你必须要设置TIME_ZONE这个变量,因为在Windows环境下无法准确的使用备用时区,附上TIME_ZONE可参考的时区列表
your_project_name/settings.py INSTALL_APPS 下添加你在项目目录下增加的app文件夹名,有一些app是随着Django项目的生成而提供的...
django.contrib.admin 一个admin网站
django.contrib.auth 认证系统
django.contrib.contenttypes content type 框架
django.contrib.sessions session框架
django.contrib.staticfiles 一个管理static files的框架
django.contrib.messages 一个message框架
python manage.py migrate
2.建立模型
在your_app_name/models.py 文件下建立模型
每个模型都继承自django.db.models.Model类,每个模型内的类变量是每个模型对应表上的字段
例:from django.db import models
class Question(models.Model):
question = models.CharField(max_length=200)
models.CharField是属于Field的子类,更多Field相关信息 https://docs.djangoproject.com/en/2.0/ref/models/fields/
3.激活模型
建立模型后,当然需要在数据库中激活该模型..,但是在激活模型前,需要确认你建立的app在settings.py文件中的INSTALL_APP中,不然不会加载该APP下的models.py,更不会有模型
迁移命令:python manage.py migrate
当你的模型进行改变之后,执行命令:python manage.py makemigrations your_app_name,再执行迁移命令
如果你想观察你执行了什么sql语句,那么你可以执行:python manage.py sqlmigrate your_app_name 0001 <= 0001是你迁移脚本的编号
4.运用api接口
python manage.py shell 进入Django环境的shell,那么它是如何读书你的app的设置的呢,在manage.py中的设置了DJANGO_SETTING_MODULE的项目设置,所以当你启动shell的时候就是你当前项目的Django环境
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "your_project_name.settings") #了解就好
更多的关系模型信息(一对多,多对多,一对一)请参考 关系模型映射
更多的数据库API信息参考: DataBase API
5.admin :python manage.py createsuperuser 对admin兴趣不高...
本文介绍了Django项目中数据库配置的方法,包括不同数据库类型的设置、模型定义与激活过程及数据库迁移命令。此外还提到了如何通过Django shell进行数据库操作。
1388

被折叠的 条评论
为什么被折叠?



