走进Django框架的世界
-
介绍
- 开源的web应用框架,2003年发布,2005年发布正式版本,最初是为了帮助管理新闻网站的内容而开发的,旨在简化复杂网站的开发和维护过程
-
版本演变
-
Django 1.x系列
- 提供基本的Web开发功能,如URL路由、模板系统、ORM等。
- 引入了许多核心组件和概念,奠定了Django作为Python Web框架的基础。
- 在这个系列中,Django逐渐发展成为一个功能强大且稳定的Web框架。
-
Django 2.x系列
- Python 3支持:全面支持Python 3,去除了对Python 2的兼容性。
- 性能改进:对性能进行了多项优化,提高了Web应用的响应速度和吞吐量。
- 引入ASGI(Asynchronous Server Gateway Interface)支持,为编写异步Web应用提供了可能。
- 改进了模型字段的定义和数据库查询的方式。
- 支持更好的测试和引入了新的测试框架。
-
Django 3.x系列
- 性能和安全性增强:进一步优化了性能和安全性,引入了新的安全特性和修复了已知的安全漏洞。
- 引入路径参数类型注解(Path Converters),为URL路由提供了更灵活的匹配方式。
- 改进了Admin界面,提升了后台管理的用户体验。
- 使用了新的Slugify算法,替代了UnicodeSlugify,以提供更好的本地化支持和安全性。
-
Django 4.x系列
- 支持更新的Python版本(如Python 3.8、3.9等)。
- 引入了更多的性能优化和安全修复。
- 可能包含一些实验性或预览性的功能,为未来的版本做准备。
-
Django 5.x系列
- 支持最新的Python版本:如Python 3.10、3.11和3.12,反映了Django对Python社区最新动态的支持。
- 引入了字段组(Field Groups)和字段组模板(Field Group Templates),简化了Django表单字段相关元素的渲染。
- 新的Field.db_default参数用于设置数据库计算的默认值。
- 引入了GeneratedField,支持创建数据库生成的列。
- 安全性和性能改进:继续加强安全性和性能优化,确保Django应用的高可靠性和高效性
-
-
优势
-
快速开发
- Django 的设计目标是帮助开发人员尽快将应用程序从概念变为现实。
- 开箱即用数据库处理,HTML渲染,登录鉴权等要开发的功能都已经集成好了。
-
安全性高
- Django 非常重视安全性并帮助开发人员避免许多常见的安全错误。
- 使用ORM处理数据,常见的web安全问题:SQL注入、CSRF攻击等都不用担心。
-
极具可扩展性
- 网络上很多大型的网站利用 Django 快速灵活扩展的能力。
- Instagram:作为全球知名的图片和视频分享社交平台
- Pinterest:世界上最大的图片社交分享网站
- 知乎
-
-
特点
- 简化URL路由语法:使得Django的URL路由语法更加简单和直观。
- Admin后台系统:支持主流移动设备,并新增了有用的属性和方法,提升了后台管理的便捷性。
- 用户认证:增强了用户认证的安全性,如提高了密码哈希的迭代次数。
- 缓存和分页:提供了更高效的缓存和分页处理机制,提升了应用的性能。
- 模板和验证器:改进了模板的灵活性和验证器的严格性,提高了开发效率和应用的健壮性
Django开发的环境安装-Django安装
-
Python安装(3.12.x)
-
Pycharm安装
-
Django安装
- 使用pip依赖工具安装
pip3 install Django==5.1 - 查看安装成功与否
pip3 list
- 使用pip依赖工具安装
-
使用默认镜像源是国外的,所以速度会比较慢,更换镜像源
- 查看镜像源
pip3 config get global.index-url - 如果提示不存在,或者显示默认的地址:pypi.org/simple
- 创建文件
mkdir ~/.pip - 进入.pip,创建pip.conf
touch ~/.pip/pip.conf - vim编辑pip.conf,复制下面pip.conf文件内容,按拼音的 i 键,粘贴内容,接着保存退出:点击ESC按键,然后按拼音的":",点击按wq保存并退出
- 编辑
vim ~/.pip/pip.conf - pip.conf 文件内容
[global] index-url = https://mirrors.aliyun.com/pypi/simple [install] usr-mirrors = true mirrors = http://mirrors.aliyun.com/pypi/simple trusted-host = mirrors.aliyun.com
- 编辑
- Windows
C:\Users\xxx\AppData\Roaming\pip\pip.ini
- 查看镜像源
创建第一个Django项目
-
通过pycharm编辑器创建
- 直接在Pycharm上点击运行
-
通过命令行方式创建
django-admin startproject djangoProject- 运行项目
或者python manage.py runserverpython3 manage.py runserver
- 运行项目
Django项目结构介绍
-
目录结构
- manage.py 和项目交互基本上都是基于这个文件,一般都是在终端输入python3 manage.py [子命令] manage.py输入python3 manage.py help查看更多
- init.py 该文件可以让Python解释器把当前的目录视为一个Python包,允许你在其他模块中通过 import 语句来导入该目录下的模块或子包
- asgi.py Django项目支持ASGI的入口点,ASGI是一个Python标准,用于异步Web服务器、Web框架和Web应用之间的通信,它允许你编写异步的Django视图和其他组件,以提 高应用的性能和响应能力,部署时需要用到
- settings.py 项目的设置项,和项目相关的配置都是放在这个里面,包括和数据库的交互
- urls.py 这个文件是用来配置URL路由的,比如访问http://127.0.0.1/about/是访问关于页面,则需要再当前文件配置
- wsgi.py 项目与WSGI协议兼容的web服务器入口,部署的时候需要用到的,一般情况下也是不需要修改的。
-
app(模块)
- app是Django项目的组成部分,一个app代表项目中的所有URL请求的响应都是由app来处理,Django能拥有不同的app
- 创建一个app
-
或者python manage.py startapp aboutpython3 manage.py startapp about