Django 教程
一、Django 安装
1、Django 版本对应的 Python 版本:
2、Django下载地址:
https://www.djangoproject.com/download/
3、安装(无需下载)
打开cmd,输入:pip install Django==1.11.4,然后回车
4、验证安装
cmd进入python
获取版本信息
import django
django.get_version()
二、创建第一个项目
1、在合适位置创建一个目录
2、打开DOS进入到上一步创建的目录下
CD C:\Users\Administrator\PycharmProjects\bilibili_qianfeng\bilibili_20200404\01-wj
3、输入:django-admin startproject project
查看目录结构:tree . /F
4、目录层级说明
manage.py
一个命令行工具,可以让你以各种方式与该Django项目进行交互
init.py
一个空文件,告诉Python该项目是一个Python包
settings.py
项目的配置文件
urls.py
项目的URL申明,一份由Django驱动的网站“目录”
wsgi.py
一个WSGI兼容的Web服务器的入口,以便运行你的项目
三、基本操作
1、设计表机构
a、班级表结构
表名:grade
字段:
班级名称:gname
成立时间:gdate
女生总数:ggirlnum
男生总数:gboynum
是否删除:isDelete
b、学生表结构
表名:students
字段:
学生姓名:sname
学生性别:sgender
学生年龄:sage
学生简介:scontend
所属班级:sgrade
是否删除:isDelete
2、配置数据库
注意:Django默认使用Sqlit数据库
在setting.py文件中,通过DATABASE选项进行数据库配置
a、配置MySQL
python3.x安装的是PyMySQL
在__init__.py文件中写入两行代码
import pymysql
pymysql.install_as_MySQLdb()
b、格式:
3、创建应用
在一个项目中可以创建多个应用,每个应用进行一种业务处理
a、打开cmd进入01-wj目录下的project的目录
b、执行:python manage.py startapp myAPP
c、myApp目录说明
admin.py
站点配置
models.py
模型
views.py
视图
4、激活应用
在setting.py文件中,讲myApp应用加入到INSTALLED-APPS选项中
5、定义模型
概述:有一个数据表,就应该对应一个模型
在models.py中定义模型
引入:from django.db import models
模型类要继承models.Model类
from django.db import models
# Create your models here.
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")
说明:不需要定义主键,在生成时自动添加,并且值为自动增加
6、在数据库中生成数据表
a、生成迁移文件
执行:python manage.py makemigrations
在migrations目录下生成一个迁移文件,此时数据库中还没有生成数据表
b、执行迁移
执行:python manage,py migrate
相当于执行sql语句创建数据表
7、测试数据操作
a、进入到python shell
b、执行:python manage.py shell
c、引入包:
from myAPP.models import Grades,Students
from django.utils import timezone
from datetime import *
d、查询所有数据
格式:类名.objects.all()
Grades.objects.all()
e、添加数据
本质:创建一个模型类的对象实例
grade1=Grades()
grade1.gname=‘python04’
grade1.gdate=datetime(year=2020,month=4,day=4)
grade1.ggirlnum=3
grade1.gboynum=70
grade1.save()
f、查询某个对象
格式:类名.objects.get(pk=1)
Grades.objects.get(pk=1)
g、修改数据
模型对象.属性 = 新值
grade1.gboynum = 60
grade1.save()
h、删除数据
物理删除(真实删除!)
模型对象.delete()
逻辑删除(isDelete = True)
I、关联对象
创建一个学生
stu = Students()
stu.sname = “小明”
stu.sgender = False
stu.sage = 20
stu.scontend = “我叫小明”
stu.sgrade = grade1
stu.save()
获得关联对象的集合
需求:获取python04班级的所有学生
格式:对象名.关联的对象名_set.all()
grade1.students_set.all()
创建一个学生属于‘’python04‘’班
stu1 = grade1.students_set.create(sname=u’曾志伟’,sgender=True,scontend=u’我叫曾志伟’,sage=45)
不用save()直接就创建成功
8、启动服务器
a、格式:
python manage.py runserver ip:port
ip可以不写,不写的话代表本机ip
port端口号默认是8000
python