准备工作
1. 安装 django
激活一个虚拟环境后(例如我的是 csdn),运行命令 conda install django 进行安装
检测是否安装成功:运行命令 python -m django --version,如果显示版本号则代表成功
2. 创建项目
选择想要的路径,运行命令:django-admin startproject mysite 即可创建 django 项目
然后用 pycharm 打开,File-->Settings-->Project: mysite-->Project Interpreter,选择带有 django 的虚拟环境的 python.exe
3. 创建 app 并注册、设置时区
激活环境后,运行命令 python manage.py startapp polls 创建一个投票应用 polls
此时的目录如下:
然后进行 app 注册,打开 myste/settins.py ,找到 INSTALLED_APPS,添加 polls ,一定要注意末尾的 ‘ , ’ (逗号)
找到 TIME_ZONE,修改 LANGUAGE_CODE、TIME_ZONE、UES_TZ 三个参数,保证整个项目的时间准确不错乱
设置完时区后,至此,准备工作就完成了
编写 models
Python 内置了数据库 SQLite,所以你无需安装额外东西来使用它,作为初学,就用它就行,如果在实际开发中,更多的使用 MySQL 等,我们修改 mysite/settings.py 里的 DATABASE 参数就行,这里初学案例就用默认的
配置完成之后我们再也不需要关心数据库,因为我们用 Models 来关联它,对它进行操作
打开 polls/models.py ,我们需按照规定编写数据模型,这样它才可以自动的映射到数据库
比如类必须继承自 models.Model,属性类型必须是 models.xxxField(),models.ForeignKey() 代表外键等,见代码注释
polls/models.py
from django.db import models # Create your models here. # 创建数据模型:投票的问题 # 每个类必须继承自models.Model class Question(models.Model): # 创建问题的内容 # 每个属性的类型必须是models.xxxField() # 其中models.CharField类型必须使用max_length参数指明长度 question_text = models.CharField(max_length=200) # 创建发布日期 # models.DateTimeField是日期类型 pub_date = models.DateTimeField('date published') # 当对象作为字符串时返回问题的文本内容 def __str__(self): return self.question_text # 创建数据模型:投票的选项和相应的票数 class Choice(models.Model): # models.ForeignKey()方法创建外键,关联Queston # on_delete = models.CASCADE设置同步删除 question = models.ForeignKey(Question, on_delete=models.CASCADE) # 创建选项的内容 choice_text = models.CharField(max_length=200) # 创建票数,default设置默认值 votes = models.IntegerField(default=0) def __str__(self): return self.choice_text
数据库迁移
创建完模型后,还需要激活模型,它才能正真地能绑定到数据库,这个激活的过程我们叫做迁移
为注册的应用准备迁移文件:命令:python manage.py makemigrations polls,出现下面信息代表成功
执行迁移:命令:python manage.py migrate
polls/migrations/0001_initial.py 出现说明迁移成功,该文件是迁移记录文件