Django框架的基础知识
1.了解Django
Django(英⽂发⾳:`dʒæŋgəʊ)是⼀个⾼级Python Web开源框架,它⿎励快速开发和⼲净、实⽤的设计。它由经验丰富的开发⼈员构建,解决了Web开发中许多常⻅的问题,因此您可以专注于编写应⽤程序,⽽⽆需重新发明轮⼦。
Django 最初是由美国堪萨斯州劳伦斯的一家名为 World Online 的网络开发团队开发的。他们基于自己的新闻类网站开发经验,为了能够快速地构建高质量的 Web 应用而创建了 Django。2005 年 7 月,Django 正式开源。
2 Django框架设计原理
Django遵循MVC(模型-视图-控制器)设计模式,但在Django中,它通常被称为MTV(模型-模板-视图)架构:,其中的“M”代表模型(Model),“T”代表模板(Template),“V”代表视图(View)。MTV模式是从MVC模式变化⽽来的。
- 模型:表示的是数据存取层,处于MTV模式的底层。模型负责处理与数据相关的所有事务,包括如何存取数据、如何验证数据有效性和如何处理数据之间的关系等⽅⾯的内容。
- 模板:表示的是表现层,处于MTV模式的顶层。模板负责处理与表现相关的操作,包括如何在⻚⾯或者在其他类型⽂档中进⾏显示等⽅⾯的内容。
- 视图:表示的是业务逻辑层,处于MTV模式的中间层。视图负责存取模型及调取适当模板的相关逻辑等⽅⾯的内容,是模型与模板之间进⾏沟通的桥梁。
此外,MTV模式还需要⼀个URL分发器,其作⽤是将URL⻚⾯请求分发给不同的视图去处理,然后视图再调⽤相应的模型和模板。相应的结构图如图所示:

Django框架下的视图不负责处理⽤户输⼊,仅负责选择要展示的数据并传递到模板上。然后,由模板负责展示数据(展示效果),并最终呈现给终端⽤户。
3. Django的⼯作流程
1. 客户端发送HTTP请求
2. Web服务器(如Nginx、Apache)将请求转发给Django
3. Django的URLconf(URL配置)解析请求URL,找到对应的视图函数
4. 视图函数处理请求,可能与数据库交互
5. 数据库返回数据给视图函数
6. 视图函数使⽤模板渲染数据,⽣成HTML
7. Django将HTML响应返回给Web服务器
8. Web服务器将响应返回给客户端

当启动Django服务器时,在同⼀⽬录下会⾃动加载配置⽂件(settings.py),该配置⽂件涵盖了项⽬所需的全部配置参数。其中,最重要的配置参数就是ROOT_URLCONF,它定义了Django服务器使⽤哪个Python模块来⽤作本项⽬的URLConf(⼀般默认是urls.py)。
3.1流程讲解:
- 当⽤户在Web浏览器(Web Browser)中访问URL时,Django服务器会接收到⼀个HTTP请求,通过服务器端特定的Handler(ModPythonHandler)创建HttpRequest并传递给中间件(Request Midware)进⾏处理,这些中间件起着功能增强的作⽤。
- Django服务器会根据ROOT_URLCONF配置的参数来加载URLConf,然后按顺序逐个匹配URLConf中的URLpatterns,如果匹配成功,则会调⽤相关联的视图中间件函数,并把HttpRequest对象作为第⼀个参数向下传递。
- 最后,通过视图返回⼀个HttpResponse对象(通常是Response)。
- 另外,Django框架还实现了完整的异常处理机制,主要是通过异常处理中间件(Exception Midware)来实现的。当系统出现异常时,异常处理中间件(Exception Midware)会截获并判断异常类型,并返回异常错误(404或500等)信息。
4. Django框架特点
- 全功能框架: 提供从数据库到模板的完整解决⽅案
- ORM系统: 强⼤的对象关系映射,简化数据库操作
- ⾃动化管理后台: ⾃动⽣成管理界⾯,⽅便内容管理
- 路由系统: 灵活的URL配置
- 模板系统: 强⼤的模板引擎,⽀持模板继承
- 表单处理: 简化表单创建和验证
- 认证系统: 内置⽤户认证和权限管理
- 安全特性: 防⽌SQL注⼊、XSS、CSRF等攻击
- 国际化⽀持: 内置多语⾔⽀持
- 缓存框架: ⽀持多种缓存后端
5.Django的工作流程
将放到其他的博客文章上。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)