Python之Web开发中级教程----搭建Web框架一

news2024/11/18 9:29:33

准备环境:ubuntu,Python3.6.9

一、Web应用程序的原理

接收并解析HTTP请求,获取客户的请求信息->处理完成请求的业务逻辑->返回处理结果HTTP响应。

Web框架的架构是这样的:

基于python的web框架,如tornado、flask、webpy都是在这个范围内进行增删裁剪的。例如tornado用的是自己的异步非阻塞“wsgi”,flask则只提供了最精简和基本的框架。Django则是直接使用了WSGI,并实现了大部分功能。

二、本教程采用Django框架。

1、Django简介

  百度百科:开放源代码的Web应用框架,由Python语言编写......

  重点:一个大而全的框架,啥都替你考虑好了。

其它基于python的web框架,如tornado、flask、webpy都是在这个范围内进行增删裁剪的。例如tornado用的是自己的异步非阻塞“wsgi”,flask则只提供了最精简和基本的框架。Django则是直接使用了WSGI,并实现了大部分功能。

2. MVC/MTV介绍

  MVC百度百科:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

  通俗解释:一种文件的组织和管理形式!不要被缩写吓到了,这其实就是把不同类型的文件放到不同的目录下的一种方法,然后取了个高大上的名字。当然,它带来的好处有很多,比如前后端分离,松耦合等等,就不详细说明了。       

  模型(model)定义数据库相关的内容,一般放在models.py文件中。

  视图(view)定义HTML等静态网页文件相关,也就是那些html、css、js等前端的东西。

  控制器(controller)定义业务逻辑相关,就是你的主要代码。  

  MTV: 有些WEB框架觉得MVC的字面意思很别扭,就给它改了一下。view不再是HTML相关,而是主业务逻辑了,相当于控制器。html被放在Templates中,称作模板,于是MVC就变成了MTV。这其实就是一个文字游戏,和MVC本质上是一样的,换了个名字和叫法而已,换汤不换药。

3.Django的MTV模型组织

  目录分开,就必须有机制将他们在内里进行耦合。在Django中,urls、orm、static、settings等起着重要的作用。一个典型的业务流程是如下图所示:(WSGI: Web服务器网关接口)

4.安装Django

在ubuntu的终端下输入以下的命令:

python3.6 -m pip install Django==3.0

由于系统里有多个版本的python,所以可以指定python版本3.6.

Django版本也有多个,可以指定安装匹配的版本3.0

5.ubuntu系统中配置django.

安装好后,输入命令:django-admin –version 返回的结果是找不到命令,原因是环境变量里没有设置。

在ubuntu的终端下输入以下的命令:

sudo ln -s /home/go/.local/bin/Django-admin.py /usr/local/bin/Django-admin

执行:django-admin --version 测试环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1508002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

便宜的生骨肉冻干可以买吗?价格实惠、排行榜靠前的生骨肉冻干分享

养猫知识的不断普及,让生骨肉冻干喂养逐渐受到铲屎官的青睐。然而,价格仍是部分铲屎官的考虑因素。事实上,像我这样的资深铲屎官,早已开始生骨肉冻干喂养。虽然价格高于烘焙粮和膨化粮,但其对猫咪的健康益处显而易见。…

2024 年系统架构设计师(全套资料)

2024年5月系统架构设计师最新第2版教材对应的全套视频教程、历年真题及解析、章节分类真题及解析、论文写作及范文、教材、讲义、模拟题、答题卡等资料 1、2023年11月最新第2版本教材对应全套教程视频,2022年、2021年、2020年、2018年、2016年五套基础知识精讲视频、…

SIGMATEK西格玛泰克CPU模块控制器维修CCP531 12-104-531

Sigmatek的“解决方案”有两方面含义:一方面是指Sigmatek从控制系统、人机界面、伺服驱动系统直到开发平台,都能够提供解决方案;另一方面是指从方案的一开始,Sigmatek便能够位客户提供独特的、量身定做的产品实施方案。 Sigmatek产…

【3月11日】云服务器推荐-京东云上新1年档,阿里云活动页大改,16G6个月149高性价比服务器很隐蔽!

3月11日更新, 本文纯原创,侵权必究 《最新对比表》已更新在文章头部—腾讯云文档,文章具有时效性,请以腾讯文档为准! 【腾讯文档实时更新】云服务器1分钟教会你如何选择教程 https://docs.qq.com/document/DV0RCS0lGe…

Visual Studio 2019重装vs2019打不开.netcore项目

无法打开项目文件。 .NET SDK 的版本 7.0.306 至少需要 MSBuild 的 17.4.0 版本。当前可用的 MSBuild 版本为 16.11.2.50704。请将在 global.json 中指定的 .NET SDK 更改为需要当前可用的 MSBuild 版本的旧版本。 无法打开项目文件。 .NET SDK 的版本 7.0.306 至少需要 MSBui…

一次线上JVM GC 长暂停排查,加班搞了好久

背景 在高并发下,Java程序的GC问题属于很典型的一类问题,带来的影响往往会被进一步放大。不管是「GC频率过快」还是「GC耗时太长」,由于GC期间都存在Stop The World问题,因此很容易导致服务超时,引发性能问题。 事情…

特种劳动防护用品安全标志申办管理系统-144-(代码+程序说明)

转载地址http://www.3q2008.com/soft/search.asp?keyword144 说明 : 06年元旦前后的一个作品,里面涉及一个表格控件, 作出了ACCESS的表格控件的无限筛选,就是说,N个字段筛选后,还可以在此基础上继续筛选 :) 效果很COOL的 该系统有完整的附件存储,业务关系 ... 当然代码里少不…

自然语言处理(NLP)—— 词义消歧与词语相似性(Word similarity)

1. 词义消歧 1.1 词义消歧的概念 词义消歧(Word Sense Disambiguation, WSD)的概念及其在自然语言处理中的应用之一。词义消歧是确定一个词在特定语境下使用时所指的具体含义。 在提到的例子中,“Do you believe in clubs for young people?…

当金蝶遇上BI,马上就能看到数据可视化效果

最近整理咨询内容时发现,很多企业用户在咨询时都会问是否有行业案例,究其原因时他们没用过BI数据分析,不知道BI可以做什么,能做到什么地步。其实,要知道这些东西还不简单,只需要注册奥威BI软件,…

leetcode刷题(3):双指针和哈希表的使用

文章目录 1. 两数之和解题思路c实现 15. 三数之和解题思路c实现 11. 盛最多水的容器解题思路c实现 7. 整数反转解题思路c 实现 34. 在排序数组中查找元素的第一个和最后一个位置思路c实现 704. 二分查找解题思路c 实现 35.搜索插入位置解题思路c实现 153. 寻找旋转排序数组中的…

站库分离技术--反向代理技术-雷池云WAF-给自己搭建一个安全点的网站

文章目录 概要整体架构流程技术名词解释技术细节ssh-ubuntu服务器docker-映射-链接-通信nginx反代mysql设置数据库新密码 小结我的mysql映射目录我的wordpress映射目录 成果展示 概要 新买了一个云服务器,想搭建一个站库分离的wordpress为主的网站,采用d…

/etc/shadow文件详解

前言 /etc/shadow 是 Linux 系统中存储用户加密密码的文件,每行对应一个用户的加密信息。该文件只有系统管理员 root 用户可以访问。 字段详解 该文件的每一行包含 9 个字段,以冒号 (“:”) 分隔 用户名:加密密码:最后一次修改时间:最小修改时间间隔…

【人才测评】某冷库企业人才测评管理咨询项目纪实

企业都知道要重视优秀人才,要将合适的人安排到合适的岗位,但是,到底哪些人员是优秀人才呢?每个人的能力水平又应该怎么测评呢?这是很多企业管理者的困惑。该冷库企业为了支撑企业的进一步发展,引入了大量技…

【机器学习】进阶学习:详细解析Sklearn中的MinMaxScaler---原理、应用、源码与注意事项

【机器学习】进阶学习:详细解析Sklearn中的MinMaxScaler—原理、应用、源码与注意事项 这篇文章的质量分达到了97分,虽然满分是100分,但已经相当接近完美了。请您耐心阅读,我相信您一定能从中获得不少宝贵的收获和启发~ &#x1f…

Spring Security入门教程:利用Spring Security实现安全控制

在现今这个数码大展拳脚的时代,安全问题无疑是咱们这些搞软件开发的人需要谨慎应对的一块烫手山芋,无论是那些大型企业应用,还是那种小打小闹的个人项目,对我们宝贵的数据和服务的保护都显得尤为关键。 试想一下,若是…

2024年,如何使用chatgpt4.0为工作赋能?

ChatGPT 4.0的工作原理和功能 ChatGPT 4.0的工作原理和功能可以从以下几个方面进行详细说明: 工作原理 ChatGPT 4.0的工作原理主要基于深度学习技术,特别是Transformer模型的应用。它通过大量的文本数据进行训练,学习语言的模式和规律&…

从空白镜像创建Docker hello world

文章目录 写在前面基础知识方法一:使用echo工具方法二,使用c语言程序方法三,使用汇编语言小结 写在前面 尝试搞了下docker,网上的教程大多是让下载一个ubuntu这种完整镜像,寥寥几篇从空白镜像开始创建的,也…

网络原理初识(2)

目录 一、协议分层 1、分层的作用 2、OSI七层模型 3、TCP / IP五层(或四层)模型 4、网络设备所在分层 5、网络分层对应 二、封装和分用 发送过程(封装) 1、应用层(应用程序) QQ 2、传输层 3、网络层 4、数据链路层 5、物理…

jvisualvm 工具的使用

文章目录 Visual GC 插件下载代码示例说明spaces 区域PermHeap Graphs 区域Compile Time(编译时间)Class Loader Time(类加载时间)GC TimeEden Space(Eden 区)Survivor 0 / Survivor 1(S0 和 S1…

23.复习

1.设置输出数字宽度 #include <iostream>using namespace std;int main(){int a123456789,b0,c-1;printf("%8d %8d %8d",a,b,c);return 0; }2.保留小数点位数 #include <iostream>using namespace std;int main(){double a;cin>>a;printf("…