一、创建项目
1.1、首先安装Django库,pip install django
1.2、在合适的位置创建一个目录,打开黑屏终端,进入上一步创建的目录
1.3、输入: django-admin startproject 项目名
1.4、目录层级说明:manage.py 一个命令行工具,可以和django交互
__init__.py 说明这是一个包
settings.py 配置文件
urls.py 项目的url声明
wsgi.py 项目与wsgi兼容的web服务器入口(不知道干什么用的)
二、设计表结构
以学生表和班级表为例:(此时数据库中还没有生成表,生成表应该在第7步中,主要看设计的表结构)
三、配置数据库
3.1、在settings.py文件中,在DATABASES中进行数据库配置
3.2、配置mysql
3.2.1、python3.x安装的是PyMysql
3.2.2、在__init__.py文件中写入
import pymysql
pymysql.install_as_MySQLdb()
3.2.3、格式
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 数据库名,
'USER':用户名,
'PASSWORD':密码,
'HOST':数据库服务器ip,
'PORT':端口号,
}
}
四、创建应用
4.1、在一个项目中可以创建多个应用,每个应用进行一种业务处理
4.2、打开命令窗口进入创建的项目目录下的project
4.3、执行:python manage.py startapp 应用名
exam中文件说明:admin.py:站点配置
models.py:模型
view.py:视图
五、激活应用
在settings.py文件中,将exam应用加入
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'exam',
]
六、定义模型
6.1、有一个数据表,就对应一个模型
6.2、在models.py文件中定义模型
class Grades(models.Model):
gname = models.CharField(max_length=20)
gdate = models.DateTimeField()
ggirlnum = models.IntegerField()
gboynum = models.IntegerField()
isDelete = models.BooleanField(default=False)
class Students(models.Model):
sname = models.CharField(max_length=20)
sgender = models.BooleanField(default=True)
sage = models.IntegerField()
scontend = models.CharField(max_length=20)
isDelete = models.BooleanField(default=False)
# 关联外键
sgrade = models.ForeignKey("Grades")
七、在数据库中生成数据表
7.1、生成迁移文件
执行python manage.py makemigrations,在migrations文件下生成一个迁移文件,此时数据库中还没有生成数据表
7.2、执行迁移
执行python manage.py migrate 相当于在数据库中生成表,(生成了二中的表结构,此时表中没有数据)
八、测试数据
输入python.manage.py shell 进入python shell
from myApp.models import Students,Grades #引入包
from django.utils import timezone
from datetime import *
grade1=Grades()
grade1.gname="1"
grade1.gdate=datetime(year=2017,month=2,day=20)
rade1.ggirlnum=20
grade1.gboynum=20
grade1.save()
stu=Students()
stu.sname="liudehua"
stu.sgender=False
stu.sage=20
stu.scontend="lalala"
stu.sgrade=grade1
stu.save()
在数据库中插入了数据
九、启动服务器
9.1、格式 python.manage.py runserver ip:port
ip默认是本机ip,port默认是8000