django全常识要点笔记汇合,近50页,从根底到深刻了解django开发(第一期)
残缺笔记在这:
django全常识要点所有笔记汇合获取
残缺笔记目录:
本期笔记内容
Django框架
次要内容
- 我的项目创立运行
- 配置文件
- 路由配置 (
View
) - request和response对象 (
View
) - 类视图 (
View
) - 中间件
- 数据库 (
Model
) - 模板(
Template
) - admin站点治理
Django介绍
- 官方网站
- 1.11版英文文档
- 1.11版中文文档
- Django Book 教程
1. 简介
Django, **发
音为[`daeŋ]**,是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版团体为了开发以新闻内容为主的网站,而开发进去了这个框架,于2005年7月在BSD许可证下公布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,次要以演奏吉它为主,还演奏过小提琴等。
**由
于Django在近年来的迅速倒退,利用越来越宽泛,被驰名IT开发杂志SDTimes评比为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该畛域的佼佼者。**
Django的 **主
要目标是简便、疾速的开发数据库驱动的网站。**它强调代码复用,多个组件能够很不便的以"插件"模式服务于整个框架,Django有许多功能强大的第三方插件,你甚至能够很不便的开发出本人的工具包。这使得Django具备很强的可扩展性。它还强调疾速开发和DRY(DoNotRepeatYourself)准则。
Django 特点
比照Flask框架,Django是重量级框架,Django原生提供了泛滥的性能组件,让开发更简便疾速。
- 数据库ORM反对
- 模板
- 表单
- 认证权限
- Admin治理站点
- session机制
- 缓存
2. Web MVC模式
- 上个世纪八十年代为Smalltalk语言创造的一种 软 件框架模式,最开始用于Desktop程序开发,当初已被宽泛应用,包含Web开发。
MVC: Model-View-Controller 模型-视图-控制器
- M: model层,负责 数 据解决,包含对数据的增删改查等操作
- V: view层,负责 界 面显示
- C: controller层,负责 逻 辑管制,接管和解决申请,调用model和view
- 核心思想: 分 层,解耦。MVC拆散了 数据处理 和 界面显示 的代码,使得一方代码批改了不会影响到另外一方,进步了程序的扩展性和可维护性。
- Web 开发中的MVC:
3. Django的MVT模式
Django MVT 模式
- M: Model, 模 型 与MVC中的M雷同,负责对数据的解决
- V: View, 视 图 与MVC中的C相似,负责解决用户申请,调用M和T,响应申请
- T: Template, 模 板 与MVC中的V相似,负责如何显示数据(产生html界面)
阐明:
- Django 也是MVC框架,但换了一个名字
Django follows the MVC pattern closely, however it does use its own logic in
the implementation. Because the "C" is handled by the framework itself
- 对于MVT的名字,
____
工程搭建
学习指标
- 把握虚拟环境应用
- 把握Django我的项目和利用的创立
- 把握Django我的项目的运行
- 把握Django视图和模板的初步应用
虚拟环境装置
1. 创立虚拟环境
mkvirtualenv django_py3 -p python3
注 意: 须要联网
2. 装置Django
pip install django==3.9.13
3. 相干命令
# 虚拟环境mkvirtualenv # 创立虚拟环境rmvirtualenv # 删除虚拟环境workon # 进入虚拟环境、查看所有虚拟环境deactivate # 退出虚拟环境# pippip install # 装置依赖包pip uninstall # 卸载依赖包pip list # 查看已装置的依赖包 Django (3.9.13)pip freeze # 查看已装置的依赖包 django==3.9.13
____
Django我的项目和利用创立
一、我的项目组织构造
- 一个
Project
蕴含有多个App
一个
App
就是一个Python
包,就代表一个功能模块,比方:用户模块,商品模块等- 各功能模块间能够放弃绝对的独立
- 以包的模式组织代码不便功能模块的复用
二、创立我的项目的两种形式
- 通过
pycharm
创立 - 通过 命令行创立
1. 通过 pycharm
创立我的项目
我的项目创立进去后构造如下:
2. 通过命令创立
创立我的项目:django-admin startproject 我的项目名
创立利用:python manage.py startapp 利用名
创立我的项目
要创立Django我的项目, 先进入虚拟环境:
workon 虚拟环境名
2. 应用如下命令创立Django我的项目: django-admin startproject 我的项目名 # 例:要创立的我的项目名为 Django02 django-admin startproject Django02
创立利用
先 进入我的项目根目录下:
cd 我的项目根目录
2. 执行以下命令创立利用 # manage.py 为上述创立我的项目时主动生成的管理文件 python manage.py startapp 利用名 # 例: python manage.py startapp users
____
运行Web服务器
- django自带了一个纯python编写的 开 发阶段应用的web服务器,用来预览网站成果和进行开发调试
有两种形式运行Django自带的Web服务器
- 通过Pycharm运行
- 通过命令运行
1. 通过Pycharm运行
1. 点击运行按钮,如下
2. 运行起来后,在 `run` 窗口,能够看到服务器打印进去的日志信息,如下:
3. 能够手动指定服务器运行的ip和端口,不指定默认值为: `127.0.0.1:8000`
2. 通过命令运行【理解】
运行Web服务器的命令
python manage.py runserver ip:端口
或:
python manage.py runserver- 注 意: 须要在终端中,先进入到我的项目的根目录下,而后才能够通过上述命令启动服务器
- 能够不写IP和端口,默认IP是127.0.0.1,默认端口为8000。
- 按
ctrl+c
能够进行服务器
3. 测试服务器是否启动
在浏览器中输出网址 127.0.0.1:8000
便可看到成果,如下,示意服务器启动胜利
____
视图模板初步应用
Django中的视图
- 同Flask框架一样,Django也应用 视 图 来编写Web利用的业务逻辑。
- Django的视图也就是一个函数,可称为 视 图函数
- 视 图 定义在利用的
views.py
文件中的 - 视 图 须要绑定一个URL地址(路由),能力被django框架找到并调用执行
一、视图初步应用
需要: 编写视图并配置URL(路由),实现一个显示界面
1. 需要: 当在浏览器中拜访URL地址 `http://127.0.0.1:8000/users/index` 时,显示 `hello django` 信息2. 实现: 1. 须要编写一个视图函数 2. 针对该视图配置拜访路由
1. 创立视图
关上刚创立的users模块,在 views.py
中编写视图代码。
from django.http import HttpResponsedef index(request): """拜访首页的视图""" return HttpResponse("hello django")
对于视图的阐明:
对于视图【了解】
- 视 图不是由开发者被动调用的,而是由
Django
框架调用 - 当Django接管到申请时,会进行URL正则匹配,调用对应的视图
- 调用视图时,Django会把申请信息封装为一个
HttpRequest
对象,并作为视图的第一个参数传入
- 视 图不是由开发者被动调用的,而是由
对于视图的参数
- 视 图的第一个参数必须定义,名字可自定义,但习惯命名为
request
,类型为HttpRequest
- 短少了该参数,Django在调用视图时,将无奈传入
HttpRequest
对象
- 视 图的第一个参数必须定义,名字可自定义,但习惯命名为
对于视图的返回值
- 视图必须返回一个
HttpResponse
对象(或其子类对象),不能像Flask一样间接返回字符串 HttpRequest
申请对象由Django创立,HttpResponse
响应对象由开发人员创立
- 视图必须返回一个
2. 配置URL(路由)
在我的项目下的
urls.py
文件中进行url路由配置如下:# 留神:urlpatterns是一个列表
urlpatterns = [
... # 配置路由和视图: http://127.0.0.1:8000/users/index# 参数1: 匹配url的正则表达式# 参数2: 匹配胜利后由Django框架调用的视图函数url(r'^users/index$', views.index),
]
留神:此处只是为简略作的初步配置,后续会对URL配置进一步解说
3. 在浏览器中测试
在浏览器中输出网址 http://127.0.0.1:8000/users/index
,确认是否执行了视图的逻辑,返回 hello django
信息
____
一、模板初步应用
1. 在我的项目的 `templates` 目录下创立一个模板文件
在视图函数中,应用
render()
办法渲染模板,失去HttpResponse
对象并返回def index(request):
# render返回的是HttpResponse对象
return render(request, 'index.html')
二、额定我的项目配置
【 留神】 针对命令行创立的我的项目,须要额定手动创立模板目录,并进行配置;如果Pycharm创立的我的项目则无需作额定操作
1. 在我的项目根目录下创立 `templates` 模板目录,后续开发中模板文件会放在此目录下2. 在 `setting.py` 我的项目配置文件中,作如下配置:
____
本期结束语
学习是一件十分有意思的事件,世上再没有比成长更让人身心愉快的事件了。
大家能够跟着练习
让咱们期待下一期吧~
残缺笔记自取
残缺笔记在这:
https://pan.baidu.com/s/16J7Y...