【Python】Django Web 框架
一、常用的Web开发框架
1.Django
Django是一个由Python写成的开放源代码的Web应用框架。这套框架的主要目标是使开发复杂、数据库驱动的网站变得简单。Django注重组件的重用性和“可拔插性”、敏捷开发和DRY(Don't Repeat Yourself)法则
2.Flask
Flask是一个微型的Python开发的Web框架,同时也被称为“microframework”,它主要面向需求简单,项目周期短的Web小应用。
3.Meteor
Meteor是一种新型的JavaScript框架,用于WebAPP应用程序开发。
4.Laravel
Laravel是一个简单优雅的PHPWeb开发框架,允许开发者通过简单,高雅,表达式语法开发出很棒的Web应用,将开发者从“意大利面条式代码”中解放出来。在功能上具有语法表现力更丰富、高质量的文档、丰富的扩展包。
5.Tornado
Tornado龙卷风是一个开源的网络服务器框架,旨在解决C10K问题,它是基于社交聚合网站FriendFeed的实时信息服务开发而来的。
二、Django流程介绍
1.Django的MVC模式
Model(模式):表示应用程序的核心(如数据库记录列表)
View(视图):显示数据
Controller(控制器):处理输出
MVC模式具有生命周期低,部署快,可维护性高等优点。
2.Django的MTV模式
Model(模式):负责业务对象与数据库对象
Template(模板):负责如何把页面展示给用户
View(视图):负责业务逻辑,并在适当的时候调用Model和Template
三、安装Django框架
在Windows操作系统下安装Django的步骤如下:
Django的下载地址:https://www.djangoproject.com/download/
(1)下载Django压缩包,解压并和python的安装目录放在同一个根目录。
(2)进入Django目录,执行python.setup.py install,然后开始安装。
(3)Django将要安装到Python的Lib下site-packbag下。
(4)然后配置环境变量。
(5)添加完成之后就可以使用Django的命令新建工程了。
四、路由
1.URL(路由)的概念
URL是Web服务的路口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应。
2.Django处理请求
加载该模块并且寻找可用的urlpatterns。
依次匹配每个URL模式,在与请求的URL相配的第一个模式停下来。也就是说,url匹配说从下往上的短路操作,所以url在列表中的位置非常关键。
导入并且调用匹配行中给定的视图,该视图是一个简单的python函数,或者基于类的函数。视图将获得如下参数:
(1)一个HttpRequst实例。
(2)如果匹配的正则表达式返回了没有命名的组,那么正则表达式匹配的内容将作为位置参数提供视图。
(3)关键字参数由正则表达式匹配的命名组组成,但是可以被django.conf.urls.url()的可选参数kwargs覆盖。
3.表单
Django的From表单类与Django模型描述对象的逻辑结构、行为以及它呈现给我们内容的形式方式大致相同。
4.视图
视图的本质就是一个Python中的函数,作用是接收web请求并且响应Web请求。
五、Django模板
模板是一个文本,用于分离文档的表现形式和内容。模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签)
模板包含两部分:
(1)静态部分,包含html、css、js。
(2)动态部分,即模板语言
Django处理模板分为两个阶段:
(1)加载:根据给定的路径找到模板文件,编译后反正该内存中。
(2)渲染:使用上下文数据对模板插值并返回生成的字符串。
Django模板的过滤器非常实用,用来返回的变量值做一些特殊处理,常用的过滤器,如下表所示:【取一部分】
过滤器 | 作用 |
{{value|lower}} | 将变量全部转换成小写 |
{{value|upper}} | 将变量全部转换成大写 |
{{value|default:"nothing"}} | 变量设置默认值 |
相关文章:
【Python】Django Web 框架
一、常用的Web开发框架 1.Django Django是一个由Python写成的开放源代码的Web应用框架。这套框架的主要目标是使开发复杂、数据库驱动的网站变得简单。Django注重组件的重用性和“可拔插性”、敏捷开发和DRY(Dont Repeat Yourself)法则 2.Flask Flask是一个微型的Python开发…...
单机部署ELK + Filebeat 收集应用日志
目录 前言一、ELK是什么?二、系统环境(CentOS 7)(2C4G的机器。。。)三、安装步骤3.1 安装ElasticSearch3.1.1 解压到/usr/local3.1.2 修改jvm堆配置(可选,测试服务器内存低)3.1.3 修…...
PXE批量安装操作系统
PXE批量安装操作系统 系统环境rhedhat7.9关闭vmware内的dhcp服务 kickstart自动安装脚本的制作 在rhel7系统中提供图形的kickstart制作方式 在rhel8中已经把图形的工具取消,并添加到rhn网络中 在rhel8中如果无法通过rhn网络制作kickstart,可以使用模板…...
【多线程-从零开始-肆】线程安全、加锁和死锁
进程状态 进程状态: 就绪:正在 CPU 上执行,或者随时可以去 CPU 上执行阻塞:暂时不能参与 CPU 的执行 Java 的线程,对应状态做了更详细的区分,不仅仅是就绪和阻塞了 六种状态: NEW 当前 Thread…...
【ARM】应用ArmDS移植最小FreeRTOS系统
【更多软件使用问题请点击亿道电子官方网站】 一、文档背景 FreeRTOS(Free Real-Time Operating System)是一个开源的实时操作系统内核,广泛应用于嵌入式系统。它具有小巧、灵活、低功耗等特点,支持多任务调度、信号量、队列等实…...
易捷OA协同办公系统 ShowPic接口任意文件读取漏洞复现 [附POC]
文章目录 易捷OA协同办公系统 ShowPic接口任意文件读取漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现易捷OA协同办公系统 ShowPic接口任意文件读取漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相…...
(这是让文心一言生成的文心一言指令博客)3分钟学会写文心一言指令:解锁AI创作新境界
3分钟学会写文心一言指令:解锁AI创作新境界 在这个AI技术日新月异的时代,文心一言作为领先的智能语言模型,正逐步改变着我们的创作与交流方式。无论是撰写文章、创作诗歌,还是进行日常对话,文心一言都能凭借其强大的语…...
OpenStack Yoga版安装笔记(十一)nova安装(上)
1、官方文档 OpenStack Installation Guidehttps://docs.openstack.org/install-guide/ 本次安装是在Ubuntu 22.04上进行,基本按照OpenStack Installation Guide顺序执行,主要内容包括: 环境安装 (已完成)OpenStack…...
类和对象(下)C++
1.初始化列表 1.为什么有初始化列表,它的作用? ->初始化列表,是构造函数初始化的另一种形式。 ->在语法上面理解,初始化列表可以认定为是每个成员变量定义初始化的地方. ->引用成员变量,const成员变量&am…...
01:PID
前言 位式控制算法 位式控制算法是一种通过比较设定值(SV)和当前值(PV)来控制目标的方法。当PV小于SV时,输出高电平,执行部件工作;当PV大于或等于SV时,输出低电平,执行部…...
Linux 命令,mkdir说明与使用
1:mkdir命令功用: 用于创建一个或多个目录,创建目录,必须在父目录中写上权限。 新目录的默认模式为0777,可以由系统或用的umask来修改。 2:命令构件: mkdir [options] directories 3:参数选项: -m&#x…...
大数据-Big Data简介
“大数据”(Big Data)指的是无法通过传统数据处理应用程序处理的大量、复杂的数据集。这些数据集可以来自多种来源,如社交媒体、传感器、交易记录、日志文件等。大数据的特点通常用4V来描述: a、Volume(数据量…...
ls命令的参数和选项 学会啦!
1.ls命令的 -a选项 ls [-a -l -h] [Linux路径] -a选项,表示:all的意思,即列出全部文件(包含隐藏的文件/文件夹) wendywendydeMacBook-Air ~ % ls -a . .DS_Store .vscode .zsh_sessions Documents Library …...
PhPMyadmin-漏洞复现
前情提要:首先将我们的PHP版本设置在5.5以上 一、通过⽇志⽂件拿Shell 1.搭建好环境后进行管理员登录 2.进入后点击SQL进行sql命令行操作 3.在输入框内输入set global general_logon; 将日志保存设置为开启状态 4.在输入 set global general_log_file 你要将日志…...
ASR(Automatic Speech Recognition)调研,当前sota的架构
asr概览英文纯享版:an overview of transducer models for asr 本文主要讲述nvidia和openai的模型架构,应为他们两家霸榜huggingface leader board 小白也能阅读了解一下当前sota的asr架构是什么样的 评测指标 Word Error Rate (WER):错词率…...
留学圈学校排名榜单常被忽略的四点
每年总有前往英国的准留学生遇到这个问题:临近入学,雅思成绩还不够,究竟是去gap一年进入QS前100的名校,还是去一所雅思要求不高但排名靠后甚至名不见经传的学校呢? 这个问题,你们通常会如何解决呢…...
[STM32]HAL库实现自己的BootLoader-BootLoader与OTA-STM32CUBEMX
目录 一、前言 二、BootLoader 三、BootLoader的实现 四、APP程序 五、效果展示 六、拓展 一、前言 听到BootLoader大家一定很熟悉,在很多常见的系统中都会存在BootLoader。本文将介绍BootLoader的含义和简易实现,建议大家学习前掌握些原理基础。 …...
xss漏洞(二,xss靶场搭建以及简单利用)
本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 一,环境搭建。 使用工具:PHP study,dvwa靶场。 1,GitHub上下载dvwa到PHP study的WWW文件夹内,并解压。 dvwa下载地址 …...
学习日志8.5--ARP攻击与防范
目录 ARP欺骗攻击 ARP泛洪防范(动态ARP检测) ARP欺骗攻击 ARP中间人攻击,中间人可以通过交换机查询交换表获取主机和网关的IP地址信息中间者通过ARP的查询可以知道PC2的IP地址和MAC地址,知道R2的IP地址和MAC地址,攻…...
MyBatisPlus简介及入门案例
MyBatisPlus简介 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响&…...
MOS场效应管常见损坏原因
造成损坏的原因可能有几个: 1.缺少保护电路,一般来说电路中应适当设置保护电路,以吸收电路中的瞬间高压,浪涌电压保护关键元件。 2.参数选取不合理,没有余地;场效应管的耐压,电流都应该流有一定的余地&…...
AC+AP组网
配置DHCP Switch1 <Huawei>sys [Huawei]undo in en [Huawei]vlan batch 10 20 30 40[Huawei]int vlan 10 [Huawei-Vlanif10]ip add 192.168.10.1 24 [Huawei-Vlanif10]quit[Huawei]int vlan 20 [Huawei-Vlanif20]ip add 192.168.20.1 24 [Huawei-Vlanif20]quit[Huawei]…...
《程序猿入职必会(9) · 用代码生成器快速开发》
📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...
数据结构--平衡二叉树
目录 一. 前言 二. 平衡二叉树的调整 一. 前言 平衡二叉树又称AVL树(Adelson-Velskii and Landis)。 一棵平衡树可以是空树也可以是具有下列性质的二叉排序树(所以二叉平衡树首先得是二叉排序树): 1)左子…...
2020C题 中小微企业的信贷决策论文分析复现笔记
比赛题目: 在实际中,由于中小微企业规模相对较小,也缺少抵押资产,因此银行通常是依据信贷政策、企业的交易票据信息和上下游企业的影响力,向实力强、供求关系稳定的企业提供贷款,并可以对信誉高、信贷风险…...
*算法训练(leetcode)第四十一天 | 739. 每日温度、496. 下一个更大元素 I、503. 下一个更大元素 II
刷题记录 *739. 每日温度496. 下一个更大元素 I解法一(暴力搜)解法二(用map) 503. 下一个更大元素 II解法一(拼接两个数组)解法二(下标取余) *739. 每日温度 leetcode题目地址 单调…...
Flink开发语言使用Java还是Scala合适?
目录 1. Flink简介 1.1 什么是Apache Flink? 1.2 Flink的核心组件 2. Java与Scala在Flink开发中的比较 2.1 语言特性对比 2.2 开发体验对比 3. 实际开发中的应用 3.1 使用Java进行Flink开发 3.2 使用Scala进行Flink开发 4. 关键性能和优化 4.1 性能对比 …...
基于ESP32的掌上网关智能家居控制设备:集成MQTT、后端Node.js、MongoDB、React(代码示例)
一、项目概述 本项目旨在设计并实现一个基于ESP32的掌上网关智能家居控制设备。该设备可以作为智能家居系统的核心控制单元,实现对家庭中各种智能设备的集中管理和控制。用户可以通过手机APP或Web界面远程操控家中的智能灯、空调、窗帘等设备,还可以设置自动化场景和定时任务,…...
周鸿祎哈佛演讲摘要:大模型创业要抓住中国机会
时间:2024/04/13(美东时间) 地点:美国波士顿哈佛大学 *演讲语言为中文,“因为我的英文就比are you OK 的水平高一点点”。 1、无论你是一个创业者,还是一个企业家,最重要的一点说要跟用户保持接触,要去聊天,跟用户对话…...
车联网的汽车测试技术:深度解析与技术前沿
目录 一、概念 一、测试内容的深度解析 二、测试技术与工具的前沿探索 三、测试标准与规范的国际化视野 四、测试案例与成果的创新实践 二、数据处理与分析方面测试 一、测试目标 二、测试内容 三、测试方法与工具 四、测试标准与规范 三、举例说明 四、代码 一、…...
Terraform中的for_each和count
通过Terraform创建云主机时,在某些业务场景下,一个机器需要挂载多个云盘,一般云厂商都是单独创建云主机和云硬盘然后通过attachment的资源去挂载,因此我们的模板大致如下: resource "tencentcloud_instance"…...
vue 动态增删行,并form表单校验(附v2\v3)
Vue3 组件用的 ant 可以换成你们用,主要是form校验 前端代码 <a-formref"formRef":model"formData":label-col-props"{ span: 5 }":wrapper-col-props"{ span: 17 }"><a-row><a-form-itemlabel"角色…...
C#基础——泛型
泛型 C# 中的泛型是一种强大的编程特性,它允许你编写类型安全且灵活的代码。泛型允许你定义类、结构体、接口、方法和委托,而不必在编译时指定具体的数据类型。相反,你可以使用类型参数来定义泛型类型或方法,然后在使用时指定具体…...
MySQL学习——程序开发工具
Program Development Utilities(程序开发工具)是一系列辅助程序员在软件开发过程中提高效率和质量的工具。这些工具涵盖了从代码编辑、编译、调试到测试、性能分析等多个方面。 本文介绍一些在开发MySQL程序时可能很有用的实用程序。 在shell脚本中&am…...
【多线程-从零开始-伍】volatile关键字和内存可见性问题
volatile 关键字 import java.util.Scanner; public class Demo2 { private static int n 0; public static void main(String[] args) { Thread t1 new Thread(() -> { while(n 0){ //啥都不写 } System.out.println("t1 线程结束循环"); }, "…...
段页式存储-系统架构师(三十七)
1、一个完整的系统需要从不同的角度进行描述,下图属于软件架构设计中的(),用于()视图来描述软件系统。 问题1 A对象图 B时序图 C构件图 D类图 问题2 A进程 B开发 C物理 D逻辑 解析: 从…...
高频JMeter软件测试面试题
近期,有很多粉丝在催更关于Jmeter的面试题,索性抽空整理了一波,以下是一些高频JMeter面试题,拿走不谢~ 一、JMeter的工作原理 JMeter就像一群将请求发送到目标服务器的用户一样,它收集来自目标服务器的响应以及其他统计…...
QT 安装指南
简介 Qt 是一个跨平台的应用程序开发框架,被广泛应用于桌面、移动设备和嵌入式系统等领域。本文将详细介绍如何在 Windows 操作系统上安装 Qt 5.14.2 版本(这个版本较为稳定适用)。 安装前准备 操作系统: 确保您的计算机运行的是 Windows 10 或更高版本。硬件要求…...
【反序列化漏洞】serial靶机详解
一、安装靶机 首先创建新的虚拟机。 然后选择客户机版本为Ubuntu 64位。 然后选择使用现有磁盘,选择下载的vmdk磁盘文件即可。剩下的都是默认 二、信息收集 发现主机192.168.204.143 访问 扫描端口nmap -A 192.168.204.143 -p-,发现只有ssh:22和http:8…...
C# 下的限定符运算详解(全部,任意,包含)与示例
文章目录 1.限定符概述2. 全部限定符运算(All)3. 任意限定符运算(Any)4. 包含限定符运算(Contains)总结 当我们在C#编程中需要进行条件判断或集合操作时,限定符(qualifiersÿ…...
PHP教育培训小程序系统源码
🚀【学习新纪元】解锁教育培训小程序的无限可能✨ 📚 引言:教育培训新风尚,小程序来引领! Hey小伙伴们,是不是还在为找不到合适的学习资源而烦恼?或是厌倦了传统教育模式的单调?今…...
人工智能系统测试中,A/B测试的流程、技术方法与策略
模型的迭代和优化是推动人工智能技术进步的核心动力。如何准确地评估模型更新前后的性能提升,是人工智能测试中的一个难点。A/B测试,作为一项科学且客观的测试方法,在此过程中发挥着至关重要的作用。本文我们继续为大家介绍人工智能系统测试方…...
C++笔试练习笔记【5】:最小花费爬楼梯(有题目链接) 初识动态规划
文章目录 题目思路代码 动态规划简介**一、什么是动态规划****二、动态规划的应用场景****三、动态规划的基本步骤****四、动态规划的优缺点** 题目 题目链接:https://www.nowcoder.com/practice/9b969a3ec20149e3b870b256ad40844e?tpld230&tpld39751&ru/…...
Unity 协同程序
Unity 协同程序 Unity 2022.3 官方协同程序文档 部分内容如下 协同程序允许您将任务分散到多帧中执行。在Unity中,协程是一种可以暂停执行并将控制权返回给Unity的方法,但随后在它离开的地方继续执行。 在大多数情况下,当您调用一个方法时…...
2024杭电多校06——1005交通管控
补题点这里 大意 一个操作杆可以对k个红绿灯进行操作,操作杆上的一个字符对应一个红绿灯,操作包括,-,0,问每种组合方案有多少种组合方式 : red->green->yellow->red -:green->red->yellow->green 可以用一个三进制数表示每个灯的状态…...
人工智能时代,程序员如何保持核心竞争力
随着人工智能(AI)技术的快速发展,许多人开始担心 AI 会取代传统程序员的工作。然而,AI 的崛起不仅带来了挑战,也带来了前所未有的机遇。作为程序员,我们应该如何在这个新时代保持核心竞争力呢?本…...
如何把STM32的调试口设置为普通的IO口?
目录 一、背景 二、STM32的调试方式选择 三、关闭所有的JTAG和SWD调试功能 3.1 仅关闭JTAG调试功能 四、关闭JTAG和SWD调试方式后如何更新程序以及仿真 4.1 关闭JTAG如何更新程序 4.2 关闭JTAG及SWD调试功能后的补救措施 一、背景 最近有一个项目用到了STM32F103RB系列单…...
大模型之大模型技术生态
本文作为大模型综述第四篇,介绍语言大模型技术生态。 随着大模型技术的快速发展,大模型的生态体系也在快速构建。典型的大模型平台如 ChatGPT、文心一言、讯飞星火等提供如 APP、网页版、 API 接口等多种形式的开放服务,并通过开放插件机制、Function Call 等实现大模型外部…...
电燃灶(电焰灶)、燃气灶、电磁炉,谁更契合中国人的烹饪习惯?
中国人的烹饪文化源远流长,丰富多样的烹饪方式和独特的口味需求造就了对炉灶的严格要求。在现代厨房中,电燃灶(电焰灶)、燃气灶和电磁炉成为了常见的选择。那么,究竟哪一种更适合中国人的烹饪习惯呢? 一、明…...
引导Kim生产学习计划
参考文章写prompt生产学习计划 https://waytoagi.feishu.cn/wiki/AgqOwLxsHib7LckWcN9cmhMLnkb Instruction: 请制定一份适合职场C学习的计划 Context: C是图像工程师不可或缺的技术,需要用在图像的前处理,部署,后处理等部分。 I…...