django 基础案例及讲解
django 基础内容
1 Django创建项目的命令:
django-admin startproject 项目名称
python manage.py startapp app名称
2Django 创建项目后,项目文件夹下的组成部分(对 mvt 的理解)?
manage.py是项目运行的入口,指定配置文件路径
__init.py 是一个空文件,作用是这个目录可以被当作包使用。
settings.py 项目整体配置文件
urls.py 是项目的路由配置文件
wsgi.py 是项目与 WSGI 兼容的 Web 服务器。
3对MVC,MTV的理解
首先;来说MVC
M: model 模型,和数据库进行交互
V: view 视图,负责产生html文件以及吧文件传到页面上
C: Controller控制器,接收请求,进行处理,与 M 和 V 进行交互,返回应答
用户点击注册按钮,将要注册的内容发送给网站的服务器。
2、 View 视图,接收到用户发来的注册数据,View 告诉 Model 将用户的注册信息保存进数据库。
3、 Model 层将用户的注册信息保存到数据库中。
4、 数据库将保存的结果返回给 Model
5、 Model 将保存的结果给 View 视图。
6、 View 视图告诉 Template 模板去产生一个 Html 页面。
7、 Template 生成 html 内容返回给 View 视图
8、 View 将 html 页面内容返回给浏览器。
9、 浏览器拿到 view 返回的 html 页面内容进行解析,展示。
MTV是根据MVC演变的
Django 中 models 利用 ORM 对 Mysql 进行查表的语句
all():返回模型类对应表格中的所有数据。
get():返回表格中满足条件的一条数据,如果查到多条数据,则抛异常:MultipleObjectsReturned,
查询不到数据,则抛异常:DoesNotExist。
filter():参数写查询条件,返回满足条件 QuerySet 集合数据
模糊查询 like
例:查询书名包含’传’的图书。contains
contains BookInfo.objects.filter(btitle__contains=’传’)
空查询 where 字段名 isnull
BookInfo.objects.filter(btitle__isnull=False)
范围查询 where id in (1,3,5)
BookInfo.objects.filter(id__in=[1,3,5])
比较查询 gt lt(less than) gte(equal) lte
BookInfo.objects.filter(id__gte=3)
5. exclude:返回不满足条件的数据。
BookInfo.objects.exclude(id=3)