环境
win10家庭版64位 + python 3.5 + Django 1.8.21.创建virtualenv目录
开始/运行/cmd回车,进入cmd窗口,到自己指定的目录下创建virtualenv目录D:\python\django_project>mkdir mysiteD:\python\django_project>cd mysite2.安装virtualenv
这里使用pip进行安装 D:\python\django_project\mysite>pip install virtualenvCollecting virtualenv Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB) 100% |████████████████████████████████| 1.8MB 521kB/sInstalling collected packages: virtualenvSuccessfully installed virtualenv-15.1.0安装过程可能有失败,出现红色的提示文字,这时直接重新执行安装,一般就可以了。
3.创建virtualenv虚拟环境
使用virtualenv env来创建一个名字为env的虚拟环境 D:\python\django_project\mysite>virtualenv envUsing base prefix 'd:\\users\\ajie\\appdata\\local\\programs\\python\\python35'New python executable in D:\python\django_project\mysite\env\Scripts\python.exeInstalling setuptools, pip, wheel...done.进入env目录,可以看到目录结构如下: D:\python\django_project\mysite>cd envD:\python\django_project\mysite\env>dir
驱动器 D 中的卷是 work 卷的序列号是 F814-4F91D:\python\django_project\mysite\env 的目录
2017/08/08 19:21 <DIR> .
2017/08/08 19:21 <DIR> ..2017/06/22 11:25 <DIR> Include2017/08/08 19:21 <DIR> Lib2017/08/08 19:21 60 pip-selfcheck.json2017/08/08 19:25 <DIR> Scripts2017/08/08 19:21 <DIR> tcl 1 个文件 60 字节 6 个目录 33,233,276,928 可用字节进入虚拟环境
通过env下Scripts目录中的activate.bat批处理文件,开启虚拟环境 D:\python\django_project\mysite\env>cd ScriptsD:\python\django_project\mysite\env\Scripts>activate.bat
4.在虚拟环境中安装Django
安装Django1.8.2
进入虚拟环境,使用pip安装Django (env) D:\python\django_project\mysite\env\Scripts>pip install django==1.8.25.创建项目
命令django-admin startproject test1
设计介绍
本示例完成“图书-英雄”信息的维护,需要存储两种数据:图书、英雄
图书表结构设计:表名:BookInfo图书名称:btitle图书发布时间:bpub_date英雄表结构设计:表名:HeroInfo英雄姓名:hname英雄性别:hgender英雄简介:hcontent所属图书:hbook图书-英雄的关系为一对多
6.创建应用
创建应用的命令:python manage.py startapp booktest定义模型类有一个数据表,就有一个模型类与之对应
打开models.py文件,定义模型类引入包from django.db import models模型类继承自models.Model类说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长当输出对象时,会调用对象的str方法models.py
from django.db import modelsclass BookInfo(models.Model):btitle = models.CharField(max_length=20)bpub_date = models.DateTimeField()def __str__(self):return self.pkclass HeroInfo(models.Model):hname = models.CharField(max_length=20)hgender = models.BooleanField()hcontent = models.CharField(max_length=20)hBook = models.ForeignKey('BookInfo')def __str__(self):return self.pk
生成数据表
激活模型:编辑settings.py文件,将booktest应用加入到installed_apps中
7.生成迁移文件:根据模型类生成sql语句
python manage.py makemigrations执行迁移:执行sql语句生成数据表
python manage.py migrate8.测试数据操作
进入python shell,进行简单的模型API练习
python manage.py shell进入shell后提示如下:引入需要的包:
from booktest.models import BookInfo,HeroInfofrom django.utils import timezonefrom datetime import *查询所有图书信息:BookInfo.objects.all()新建图书信息:b = BookInfo()b.btitle="射雕英雄传"b.bpub_date=datetime(year=1990,month=1,day=10)b.save()查找图书信息:b=BookInfo.objects.get(pk=1)输出图书信息:bb.idb.btitle修改图书信息:b.btitle=u"天龙八部"b.save()删除图书信息:b.delete()