Django简介

Django是什么

Web应用程序是指在服务器端运行的程序,不需要单独安装,而Django就是其中一个非常流行的框架。

网站运行的主要原理

网站运行的本质就是服务器与客户端之间的数据传输,而其中,超文本传输协议(HTTP)是万维网通信的基础,能确保数据在传输过程中不会丢失或者损坏。服务器负责托管web资源,这些资源的形式可以是图像、文本甚至音频,而每个资源都有一个统一的资源标识符(URI)来进行标识,最常见的资源标识符是URL,也就是我们俗称的web地址。

用户界面其实是代码经历过渲染后的界面,而浏览器引擎则会根据用户的不同交互行为来调用不同的渲染引擎,渲染引擎当中,网络组件负责处理通信问题和安全问题;JavaScript解释器负责解释并自行嵌入在网站当中的JavaScript代码并执行;UI后端用于用户绘制组合框和小窗口等。

同时,浏览器引擎当中也支持储存机制,像是用户存入其中的账号密码,或是首个页面的网址。

传统的用户开发体系结构为MVC模式(模型---视图---控制器),而Django则采用了虽有类似但有所不同的架构MVT(model---view---Template),其中,model负责与数据库交互,定义数据结构和业务逻辑,例如,要实现传入用户发布的博文,它的post方法当中就需要定义博客文章的标题、内容、发布时间等字段;view的作用是处理用户的请求并且返回相应,它在接受用户的输入的同时也会调用模型获取数据,然后选择合适的模板对其进行渲染,template(模板)当中定义了页面的内容和样式,并通过模板语言嵌入动态数据,在传统架构中,这一部分通常由视图完成,Django相比传统结构,更好的实现了数据处理和页面展示的分离,使开发者可以更加专注于某一模块的开发。

Django是基于python语言完成开发的,而当时大多数HTTP服务器软件都是使用C或者C++编写,因此无法直接执行Python代码,为此,需要通过通用网关接口(CGI)实现程序和服务器之间的交互,CGI是用于定义程序和服务器交互的标准协议,但每一个请求都会都会启动一个python解释器,因此,由Python编写CGI脚本只能用于低负载的情况。

WSGI全称Web服务器网关接口(Python Web Server Gateway Interface)是一种为Python定义的Web服务器和Web应用程序之间的简单而通用的接口,是一种非常好用的中间件(中间件是应用程序的一层,开发者不需要自己编写代码,只需要下载相应的中间件就可以实现对应的功能),简单来说,只要使用的框架支持WSGI协议,那么就可以在所有支持WSGI协议的服务器上部署,在开发过程中,创建完django,其中的wsgi.py文件本身就会为你创建好,不需要手动编写和改动。模板引擎用于将模板与数据模型进行组合以生成结果文档,有利于将html的代码分解以减少代码的耦合,同时提高了代码的复用。

Django的基本配置

在django当中,指定方式其实是默认配置环境变量,也就是说,即便配置文件settings.py为空,也会按照默认的配置文件去执行(默认配置的代码所在路径:django/config/global_settings.py),在启动过程中,Django会先读取全局变量的配置,然后根据settings.py当中的文件覆盖全局变量,在应用运行过程中修改配置文件配置文件也会立即生效,但我们一般不建议这么做。

相关推荐
柏油1 分钟前
MySQL InnoDB 行锁
数据库·后端·mysql
咖啡调调。3 分钟前
使用Django框架表单
后端·python·django
BO_S__6 分钟前
python调用ffmpeg对截取视频片段,可批量处理
python·ffmpeg·音视频
白泽talk8 分钟前
2个小时1w字| React & Golang 全栈微服务实战
前端·后端·微服务
摆烂工程师16 分钟前
全网最详细的5分钟快速申请一个国际 “edu教育邮箱” 的保姆级教程!
前端·后端·程序员
一只叫煤球的猫31 分钟前
你真的会用 return 吗?—— 11个值得借鉴的 return 写法
java·后端·代码规范
就叫飞六吧33 分钟前
如何判断你的PyTorch是GPU版还是CPU版?
人工智能·pytorch·python
Asthenia041244 分钟前
HTTP调用超时与重试问题分析
后端
颇有几分姿色1 小时前
Spring Boot 读取配置文件的几种方式
java·spring boot·后端
AntBlack1 小时前
别说了别说了 ,Trae 已经在不停优化迭代了
前端·人工智能·后端