Django框架 (一)———基本简介+基本认知

第一次接触Django,是用Python语言写的Web应用框架。

Django(Python Web 框架)简介

   Django是一种开源的大而且全的Web应用框架,是由python语言来编写的。他采用了MVC模式,Django最初是被开发来用于管理劳伦斯出版集团下的一些以新闻为主内容的网站。一款CMS(内容管理系统)软件。并于 2005 年 7 月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。

Diang官网:https://www.djangoproject.com/

Diang文档:https://docs.djangoproject.com/en/dev/

Diangbook:  http://djangobook.py3k.cn/

Diang中文手册: https://docs.pythontab.com/django/django1.5/

Diang基础教程: https://code.ziqiangxuetang.com/django/django-tutorial.html

Diang菜鸟教程: http://www.runoob.com/django/django-tutorial.html

 


Django(Python Web 框架)优点

  • 强大的数据库功能
  • 自带强大的后台功能
  • 优雅的网址
  • 具有模板系统
  • 自带强大的后台功能
  • 缓存系统
  • 国际化
  • App 理念

强大的数据库功能:    用 python 的类继承,几行代码就可以拥有一个丰富、动态的数据库操作接口(API),如果需要,你也能执行 SQL 语句ORM(Object-Relational Mapping“对象-关系-映射”),它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库

自带强大的后台功能:  在admin.py中写入需要实现功能的代码,几行简单的代码就可以实现你当管理员的梦。再也不用为设计管理员而发愁了。

优雅的网址:    在urls.py中用正则匹配网址,传递到对应的函数,随意你自己定义,网址可以如你所想,如你所愿。(需要注意的是:正则是一种独立的语法,并不是哪个语言所拥有的。)

具有模板系统:  模板系统大大的降低了开发者头疼脑热的概率。因为模板系统设计简单,容易扩展。代码,样式分开设计。查找更清晰,修改更容易。

缓存系统:      Django和memcached、redis或者其他的缓存系统联用,提高了页面的加载速度。让用户的体验度更好了!
templates 文件夹views.py 中的函数渲染 templates 中的 Html 模板,得到动态内容的网页,当然可以用缓存来提高速度。

国际化:       这么好的东西,想不走上国际化都难啊。想要网页显示不同语言,比如中文、英文、还有各种语言。只需要在一个文件的设置中 稍微那么修改一下。页面就会穿上各种语言的外衣。

Django 的 App 理念:    App 可插拔,是不可多得的思想。不需要了,可以直接删除,对系统影响不大。
怎么样?Django是否强大到不可想象的地步了?不过大家也不用高兴的太早了。因为代码还是要写的,只不过用上了Django开发网站的时候更快速,更便捷了而已。


 

### Django框架中网络层的含义 在网络编程领域,“网络层”通常指的是 OSI 模型中的第三层,负责处理节点之间的数据包传输。然而,在 Django 框架语境下,“网络层”的概念更多是从抽象意义上描述其与外部客户端交互的部分[^1]。具体来说,Django 的网络层涉及 HTTP 协议的实现以及请求响应周期的核心逻辑。 #### 含义解析 Django 的网络层主要包括以下几个方面的功能: 1. **HTTP 请求处理**:当用户的浏览器或其他客户端发送 HTTP 请求时,Django 会通过 WSGI(Web Server Gateway Interface)接口接收这些请求,并将其转化为 `HttpRequest` 对象[^3]。 2. **路由匹配**:接收到请求后,Django 使用配置好的 URL 路由模式进行匹配。这过程依赖于 `urls.py` 文件中定义的路径规则,利用正则表达式或简单的路径匹配完成定位[^3]。 3. **视图调用**:旦找到对应的路由,Django 就会调用相应的视图函数或类来生成响应内容。 4. **HTTP 响应返回**:最终,Django 构造个 `HttpResponse` 对象并将结果返回给客户端。 以上流程构成了 Django 网络层的主要工作流,它实现了从请求到达服务器到响应返回客户端的系列操作。 --- ### Django框架中网络层命名的原因分析 关于 Django 中“网络层”这个术语的具体命名原因,可以从以下角度理解: 1. **技术背景关联** “网络层”这个名字可能来源于传统计算机网络的概念。尽管 Django 并未严格遵循 OSI 层次划分,但它确实承担了类似于网络协议栈的功能——即管理和控制应用程序与外界通信的过程。因此,借用“网络层”这样的术语有助于开发者快速联想到该部分的作用范围。 2. **职责清晰化** 在软件设计中,每层都有特定的责任边界。“网络层”强调的是对外部输入输出的操作能力,包括但不限于接收请求、解析参数、执行业务逻辑后再封装成标准格式反馈出去等功能[^3]。这种命名方式使得整个系统的架构更加条理分明。 3. **统认知体系** 许多现代 Web 开发框架都会提到类似的层次结构(如 Express.js 的中间件链路也可视为种广义上的网络层)。为了便于跨平台交流讨论,使用通用性强的名字显得尤为重要。而“网络层”恰好能够被广泛接受并迅速传达意图。 综上所述,“网络层”不仅体现了 Django 处理内外通讯的能力,还反映了其设计理念背后追求简洁明了的目标。 ```python from django.http import HttpRequest, HttpResponse def simple_view(request: HttpRequest) -> HttpResponse: """A basic example of a view function interacting with the network layer.""" response_data = f"Received method {request.method} at path {request.path}" return HttpResponse(response_data) ``` ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林小猫♥

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值