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

相关推荐
火云洞红孩儿20 小时前
告别界面孤岛:PyMe如何用一站式流程重塑Python GUI开发?
开发语言·python
攻城狮7号20 小时前
不懂代码也能造?TRAE+GLM-4.6 手把手教你搭心理咨询智能客服小程序
python·小程序·uni-app·vue·trae·glm我的编程搭子·glm-4.6
叫我辉哥e120 小时前
新手进阶Python:办公看板集成ERP跨系统同步+自动备份+AI异常复盘
开发语言·人工智能·python
Loo国昌21 小时前
【LangChain1.0】第五阶段:RAG高级篇(高级检索与优化)
人工智能·后端·语言模型·架构
布局呆星21 小时前
闭包与装饰器
开发语言·python
计算机学姐21 小时前
基于SpringBoot的演唱会抢票系统
java·spring boot·后端·spring·tomcat·intellij-idea·推荐算法
全栈测试笔记21 小时前
异步函数与异步生成器
linux·服务器·前端·数据库·python
李慕婉学姐21 小时前
Springboot连锁火锅管理及预测系统sh5s1gn1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
木头左21 小时前
基于Backtrader框架的指数期权备兑策略实现与分析
python
素心如月桠1 天前
cmd 输入 python --version 输出为空(windows11系统安装python后执行python --version没反应)
python