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当中的文件覆盖全局变量,在应用运行过程中修改配置文件配置文件也会立即生效,但我们一般不建议这么做。

相关推荐
JustHappy5 分钟前
古法编程秘籍(七):互联网到底是什么?把两台电脑怎么说话搞懂就够了
前端·后端·网络协议
老毛肚8 分钟前
jeecg-boot-base-core 02 day
javascript·python
yaoxin52112315 分钟前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
Hommy8826 分钟前
【剪映小助手】添加图片接口(Add Images)
后端·github·剪映小助手·视频剪辑自动化
GetcharZp1 小时前
别再盲目用 OpenCV 读图了,这才是 CV 预处理的终极杀手锏!
后端
岁月宁静1 小时前
RAG 文档摄入全链路,从原理到生产落地
vue.js·人工智能·python
JaydenAI2 小时前
[对比学习LangChain和MAF-07]如何引入人机交互的审批流程
python·ai·langchain·c#·agent·hitl·maf
神奇元创2 小时前
商用级光路加速卡:大模型推理的极速落地方案
python·神经网络·fpga开发·dsp开发
运筹vivo@2 小时前
Python ContextVar 底层机制与内存模型拆解
前端·数据库·python