需要的可以去百度云盘下载
链接:https://pan.baidu.com/s/1WLTeNCnH5BifCX6dCxJXsA
终端创建项目:django-admin startproject project
目录层级说明:
manage.py(一个命令行工具,可以使我们用多种方式对Django项目进行交互)
projecct目录(
__init__py,一个空文件,它告诉Python这个目录应该被看做一个python包
settings.py,项目的配置文件 (通过DATABASES选项进行数据库配置)
urls.py,项目的URL声明
wsgi.py,项目与WSGI兼容的Web服务器入口
)
Python 3.x 安装的是PyMySQL
在__init__.py写入两行代码
import pymysql
pymysql.install_as_MySQLdb()
出现很长的报错信息并且最后两行提示:
raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.’ % Database.version)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
解决方法:找到Python安装路径下的
Python37\Lib\site-packages\django\db\backends\mysql\base.py文件
将文件中的如下代码注释
在settings.py文件中,将myApp应用加入到INSTALLED_APPS选项中
from django.db import models 引入,因为后面 模型类要继承models.Model类
仅在migrations目录下生成一个迁移文件0001_initial.py,此时数据库中还没有生成数据库
from myApp.models import Grades,Students
from django.utils import timezone
from datetime import *
类名.objects.all()
eg:Grades.objects.all() 通过模型类查找
本质:创建一个模型类的对象实例
grade1 = Grades()
grade1.gname = “python04”
grade1.gdate = datetime(year=2020,month=6,day=30)
grade1.ggirlnum = 3
grade1.gboynum = 70
grade1.save()
(后续若有python文件修改了,需要退出,重新python manage.py shell进入)
重新导入文件
from myApp.models import Grades,Students
from django.utils import timezone
from datetime import *
Grades.objects.all()
类名.objects.get(pk=2)
grade2 = Grades()
grade2.gname = “python05”
grade2.gdate = datetime(year=2020,month=6,day=30)
grade2.ggirlnum=1
grade2.gboynum=50
grade2.save()
如何只查询某个对象,而不是Grades.objects.all()
Grades.objects.get(pk=2)
模型对象.属性 = 新值
grade2.gboynum = 60
grade2.save()
模型对象.delete()
grade2.delete()
注意:物理删除,数据库中的表里的数据被删除了
grade1 = Grades.objects.get(pk=1)
stu = Students()
stu.sname = “何文彬”
stu.sgender = True
stu.sage = 22
stu.scontend = “我叫果子哥”
stu.sgrade = grade1
stu.save()
(1)获得关联对象的集合
需求:获取python04班级的所有学生
(2)通过关联对象直接创建
需求:创建python04学生 曾志伟
stu3 = grade1.students_set.create(sname=u'曾志伟',sgender=True,scontend=u'我叫曾志伟',sage=45)
…