我的python-web基础(Flask前后端不分类)

1.HTML

HTML是超文本标记语言 ( 英文 : HyperText Markup Language , HTML ),它不是编程语言,而是一种标记语言

HTML标记标签通常被称为HTML标签,它的特点如下:

HTML标签是由尖括号包围的关键词,比如<html>

HTML标签通常是成对出现的,比如<body></body>

标签对中的第一个标签是开始标签,第二个标签是结束标签

HTML标签的形式如下: <开始标签>内容<结束标签>

HTML元素: HTML元素以开始标签起始,以结束标签终止,元素的内容是开始标签与结束标签之间的内容。

<hi>标题</hi>,其中i表示标题级数,取值范围为1到6之间的正整数。

<br>标记是非成对标记,规范的换行标记在使用的时候记为<br>

<form name=’form_name’ method=’method’ action=’url’ enctype=’value’> ... </form>

HTML表单元素 :输入域标记<input> 文字域标记<textarea> 选择域标记<select>和<option> 

2.css

CSS是Cascading Style Sheets(层叠样式表)的缩写。

CSS是一种标记语言,用于为HTML文档定义布局。

CSS3 规则由两个主要的部分构成:选择器,及一条或多条声明。

selector { declaration1;  declaration2;  ... declarationN }

每条声明由一个属性和一个值组成。属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。 selector { property: value }

CSS3的嵌入方式:内联样式表、内部样式表、外部样式表。 内联样式表就是使用HTML属性style,在style属性内添加CSS样式。内联样式是仅影响一个元素的CSS生命,也就是被style属性包括着的元素。

内部样式表即在HTML文件内使用<style>标签,在文档头部<head>标签内定义内部样式表

外部样式表是一个扩展名为css的文本文件,跟其他文件一样,可以把样式表文件放在Web服务器上或者本地硬盘上。然后,在需要使用该样式的HTML文件中,创建一个指向外部样式表文件的链接(link)即可

CSS3 border - 边框 创建圆角边框,添加阴影框,并作为边界的形象而不使用设计程序(如Photoshop等作图软件),极大地帮助您节省了很多时间。一般边框有:

 CSS3 background - 用于定义HTML元素的背景 用于定义HTML元素的背景。如:body {  background-color:#b0c4de;  }, 一般背景属性有:

CSS3 img - 图像属性定义图片滤镜,缩略图,响应式图片,图片文本等

3.Javascript

JavaScript是一种可以嵌入在HTML代码中由客户端浏览器运行的脚本语言。在网页中使用JavaScript代码,不仅可以实现网页特效,还可以响应用户请求实现动态交互的功能。

<script>和</script>之间的代码行包含了JavaScript代码

JavaScript弹出对话框

使用外部JavaScript文件 语法格式     <script src=url></script>

外部JS文件优点     使用JavaScript文件可以将JavaScript脚本代码从网页中独立出来,便于代码的阅读。一个外部JavaScript文件,可以同时被多个页面调用。当公用的JavaScript脚本代码通过<script>标记中的src属性不但可以调用同一个服务器上的JavaScript文件,还可以通过指定路径来调用其他服务器上的JavaScript文件。

4.JQuery

jQuery库引入方式: 官方下载网址为:http://jquery.com/download jQuery库可以使用HTML的<script>标签引用     <head><script src=”jquery-x.x.x.js”></script></head>

CDN载入jQuery: BootCDN     http://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js     http://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js

基础语法格式: $(selector).action()

例: $(this).hide() #隐藏当前元素 $(“p”).hide() $(“p.test”).hide() $(“#test”).hide()  

jQuery函数: $(document).ready(function(){ //开始写jQuery代码 })

在页面中选取所有的<p>元素 $(“p”)

选取id为test的元素 $(“#test”)

选取所有class设置为test元素 $(“.test”)

在页面中指定一个悬停事件 $(“p”).hover();

5.MySQL

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据;我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。

MySQL是一个关系型数据库管理系统,或叫MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性

Navicat:Navicat是一款桌面版MySQL管理工具,它和微软的SQLServer的管理器很像,简单易用。Navicat的优势在于使用图形化的用户界面,可以让用户管理更加轻松。

MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 数值类型:MySQL支持所有标准 SQL 数值数据类型。 日期和时间类型:表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。 字符串类型:指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。

MySQL登录退出方式 命令行

登录:mysql [-h 主机名 -P 端口号] –u 用户名 –p,[]这个是可选的,用于远程连接

退出: exit 或者 quit

创建数据库     CREATE DATABASE 数据库名;

查看数据库     SHOW DATABASES;

删除数据库     DROP DATABASE 数据库名;

使用数据库     USE 数据库名;

查看当前选择的数据库     SELECT DATABASE(); 

查看数据库中有哪些数据表     SHOW TABLES FROM 数据库名;

创建数据表     CREATE TABLE 数据表名(列名1 属性,列明2 属性 ...)

修改数据表 ALTER TABLE

增加字段     ALTER TABLE 表名 ADD XXX;

删除字段     ALTER TABLE 表名 DROP XXX;

删除数据表     DROP TABLE 数据表名;

INSERT INTO 数据表名(column_name1,column_name2,... ) VALUES (value1, value2, ...)...;

SELECT 列名 FROM 数据表名 WHERE CONDITION;

GROUP BY GROUPING_COLUMNS

ORDER BY SORTING_COLUMNS

HAVING SECONDARY_CONSTRAINT

LIMIT COUNT

多个数据表中查询数据 SELECT A.id, B.age FROM A,B WHERE A.id=B.id;

查询数据时,DISTINCT在结果中去除重复行      SELECT DISTINCT TYPE FROM 表名;

对结果进行排序 ORDER BY,LIMIT 限定结果行数 SELECT *  FROM 表名 ORDER BY ID DESC LIMIT 3;     

GROUP BY 对结果分组      SELECT GERDER, AVG(PRICE)  FROM 表名 GROUP BY GERDER;  使用having子句设定第二个查询条件      SELECT GERDER, AVG(PRICE) FROM 表名 GROUP BY GERDER HAVING AVG(PRICE)>80;

模糊查询LIKE      SELECT *  FROM 表名 WHERE USERNAME LIKE‘%xx%’; CONCAT联合多列     SELECT ID,CONCAT(USERNAME,’:’,ADDRESS) AS INFO  FROM 表名;

UPDATE 数据表名 SET COLUMN_NAME = NEW_VALUE1...WHERE CONDITION;         UPDATE 表名 SET PASSWORD=’lwy’ WHERE UESRNAME=’lwy’;

DELETE FROM 数据表名 WHERE CONDATION;    DELETE FROM 表名 WHERE USERNAME=’lwy’;

6.使用python的pymysql模块操作数据库

Cursor 参数说明

Commit 参数说明 此方法将语句发送到 MySQL 服务器,提交当前事务 在使用 mysql.connector.connect 创建数据库连接时,有一个非常重要的参数autocommit,它的默认值是False(事务隐性开启)。如果设置为True,进行DML操作则不需要commit。

7.Flask

Flask 是一个基于Python的轻量级、可定制的Web开发框架

Flask 两个主要依赖:Werkzeug(WSGI 工具库)与Jinja(模板渲染库),其他功能均由外部扩展实现。

Werkzeug 提供路由、调试和Web服务器网关接口

Jinja2 提供模板

其他的一切由第三方库(免费开源)来完成

项目配置,是通过 app.config 对象来进行配置的。 配置一个项目的 SECRET_KEY,那么可以使用 app.config['SECRET_KEY'] = "xxx" 来进行设置,在 Flask 项目中,有四种方式进行项目的配置: 第一种方法:直接硬编码

第二种方法:update app.config 是 flask.config.Config 的实例,而 Config 类是继承自 dict,因此可以通过 update 方法。

第三种方法:配置模块 from_object() 把所有的配置项都放在一个模块中,然后通过加载模块的方式进行配置,假设有一个config.py 模块,专门用来存储配置项的,此时你可以通过 app.config.from_object() 方法进行加载,并且该方法既可以接收模块的的字符串名称,也可以模块对象。

第四种方法:配置文件 from_pyfile() 该方法是 app.config.from_pyfile(),该方法传入一个文件名,通常是以.py结尾的文件,但也不限于 .py 后缀的文件:

8.Jinjia2模板

模板的概念 模板简单来说就是一个其中包含占位变量,来表示动态的部分的文件,模板文件在经过动态赋值后,返回给用户。(可以理解为渲染)

Jinja2 模板 Jinja2 是Flask作者开发的一个模板系统,起初是仿Django模板的一个模板引擎,Jinja2 是一个模版语言,只是类似Python,比较符合Python语法,但不完全相同!

render_template(参数A,参数B...) 定义:渲染一个模板,就是执行模板中的代码,并传入所有在模板中使用的变量,渲染后的结果就是要返回给客户端的 HTML 响应。 使用方式:在视图函数中使用 Flask 提供的渲染函数render_template() 语法:           render_template(‘index.html’,username=name)           参数A:index.html           参数B:username=name

模板参数{{}} 定义:模板中使用{{}}结构表示一个变量,是一种特殊的占位符 语法:Jinja2能识别所有类型的变量,例如列表、字典、对象等          列表:<p> 从列表中取一个值:{{mylist[3]}}.</p>      字典:<p> 从字典中取一个值:{{mydict[‘key’]}}.</p>      对象:<p> 从对象的方法中取一个值:{{myobj.method()}}.</p>

控制语句

Jinja2语句:使用{ % ... % } 包围的语句成为语句

常用的控制语句:if语句、for语句,每一个语句都有 { % endxxx % } 来进行结束

过滤器

定义:过滤器相当于是一个函数,把当前的变量传入到过滤器中,然后过滤器根据自己的功能,再返回相应的值,之后再将结果渲染到页面中。

使用方式:通过管道符号( | )进行使用,例如: {{ string|truncate(15)}} ,将字符串进行截断显示。

常见过滤器

Jinja2 自定义过滤器:

通过Flask应用对象的add_template_filter方法        

 app = Flask(__name__)          

app.add_template_filter(function_name,’fue’)

通过app.template_filter装饰器实现自定义过滤器        

@app.template_filter()        

def function_name():{}

jinja2 的宏功能:

宏功能类似于Python中的函数,可以传递参数,但是没有函数返回值,宏有声明和调用两部分

宏的定义:包含声明和调用两部分,声明一个宏需要macro、endmacro标志

Jinja2 的宏功能: 宏的include使用:Jinja2的模板继承允许你定义一个基模板,把网页上的导航栏、页脚等通用内容放在基模板中,而每一个继承基模板的子模板在被渲染时都会自动包含这些部分。

Jinja2模板的继承

在Jinja2中,使用extends标签实现子模版对父模板的继承。

9.蓝图Blueprint 

flask 中的静态路由与动态路由 静态路由:路径是固定的、不变的

动态路由:Flask 中动态路由是指带有参数的页面路径

绑定视图函数两种方法: app.route           add_url_rule

add_url_rule()函数有三个参数: rule:设置url

view_func:指定视图函数的名称

endpoint:给url设置的名称,可在代码中引用

Flask 的标准视图类 用户定义的视图类需要继承于 Flask.views.View

使用步骤如下: 用户定义一个视图类,继承于 Flask.views.View;

视图类中定义方法 dispatch_request,处理请求、返回 HTML 文本给客户端;

使用 app.add_url_rule (rule, view_func) 将 URL 路径和视图类绑定

实例:

as_view 函数的功能  视图类的本质是视图函数,函数 View.as_view () 返回一个视图函数。实现一个简化版本的 as_view 函数:

Flask 蓝图  

Flask 蓝图是一种组织 Flask 应用程序代码的方式,允许将应用程序代码分成更小的模块,这些模块可以用于构建更大的应用程序。 蓝图允许将路由、视图函数、模板和静态文件等操作分组到单个模块中,以便于管理和复用。 

创建 Flask 蓝图的基本步骤如下:

创建蓝图对象 使用 Flask 自带的 Blueprint 类创建蓝图对象。

定义视图函数 定义蓝图中的视图函数。

注册蓝图 在 Flask 应用程序中注册蓝图,即将蓝图对象和 URL 前缀绑定在一起。

定义蓝图:

注册蓝图:

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

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

相关文章

最火AI角色扮演流量已达谷歌搜索20%!每秒处理2万推理请求,Transformer作者公开优化秘诀

卡奥斯智能交互引擎是卡奥斯基于海尔近40年工业生产经验积累和卡奥斯7年工业互联网平台建设的最佳实践&#xff0c;基于大语言模型和RAG技术&#xff0c;集合海量工业领域生态资源方优质产品和知识服务&#xff0c;旨在通过智能搜索、连续交互&#xff0c;实时生成个性化的内容…

Qt制作程序启动界面类QSplashScreen实例测试详解

目录 一、QSplashScreen的概述 二、QSplashScreen静态图片加载 1、主程序实现 2、mainwindow.h实现 3、mainwindows.cpp实现 三、QSplashScreen动态图片加载 1、主程序实现 2、mainwindow.h实现 3、mainwindows.cpp实现 一、QSplashScreen的概述 QSplashScreen&#x…

揭秘Xinstall如何助力App推广,提升用户量与转化率双指标!

在移动互联网时代&#xff0c;App的推广与运营成为了每个开发者必须面对的重要课题。然而&#xff0c;推广效果的评估和优化往往令众多开发者头疼不已。今天&#xff0c;我们将为您揭秘一款能够解决这一痛点的利器——Xinstall&#xff0c;带您一起探讨它如何助力App推广&#…

ARM32开发--存储器介绍

知不足而奋进 望远山而前行 目录 文章目录 前言 存储器分类 RAM ROM EEPROM Flash 总结 前言 在现代计算机系统中&#xff0c;存储器扮演着至关重要的角色&#xff0c;不仅影响着数据的存取速度和稳定性&#xff0c;还直接关系到计算机系统的性能和应用场景的选择。存…

密码CTF(4)——e和phi不互素

参考 RSA中e和phi不互素 AMM算法 AMM算法简要理解 RSA系列解题研究——e与phi不互素 - 先知社区 (aliyun.com) e与phi不互素 --- 四 1 1 1道题详记-CSDN博客 总述 gcd(e,φ(n))比较小时可以考虑iroot直接开根&#xff0c;当直接开根跑不出来时&#xff0c;考虑有限域…

redis哨兵模式下业务代码连接实现

目录 一&#xff1a;背景 二&#xff1a;实现过程 三&#xff1a;总结 一&#xff1a;背景 在哨兵模式下&#xff0c;真实的redis服务地址由一个固定ip转变为可以变化的ip,这样我们业务代码在连接redis的时候&#xff0c;就需要判断哪个主redis服务地址&#xff0c;哪个是从…

文件上传漏洞-上篇

一、概述 文件上传漏洞可以说是日常渗透测试中用得最多的一个漏洞&#xff0c;用它获得服务器权限最快最直接。在web程序中&#xff0c;经常需要用到文件上传的功能。如用户或者管理员上传图片&#xff0c;或者其它文件。如果没有限制上传类型或者限制不严格被绕过&#xff0c…

大数据学习-Hive

介绍 分布式 SQL 计算 做数据的统计分析&#xff0c;SQL 是最方便的工具 在大数据中&#xff0c;有很多的统计分析场景&#xff0c;那么 SQL 来处理大数据是非常合适且频繁的 以后可能就是 SQL Boy 了&#xff0c;所以学习前需要有 MySQL 的基础 Hive 的功能 是一个分布式…

【软件测试入门】测试用例经典设计方法 — 因果图法

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、因果图设计测试用例的步骤 1、分析需求 阅读需求文档&#xff0c;如果User Case很复杂&am…

电商项目测试实战之购物车页面用例设计

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、购物车页面 二、购物车页面测试范围列表 三、购物车页面功能点需求分析 四、部分功能点的测试…

vscode CMAKE 配置调试

概述 记录使用VSCODE中的CMAKE拓展构建项目时出现的报错 CMakePresets.json&#xff1a; {"version": 6,"configurePresets": [{"name": "x64-debug","displayName": "x64-debug","cmakeExecutable":…

Hi3861 OpenHarmony嵌入式应用入门--中断按键

本篇讲解gpio的中断使用方式。 硬件原理图如下&#xff0c;与上一篇一样的电路 GPIO API API名称 说明 hi_u32 hi_gpio_init(hi_void); GPIO模块初始化 hi_u32 hi_io_set_pull(hi_io_name id, hi_io_pull val); 设置某个IO上下拉功能。 hi_u32 hi_gpio_set_dir(hi_gpio_…

cefsharp 修改请求头request.Headers,以实现某种请求验证(v100+已测试)含主要源码和注释

(一)目的:cefsharp实现修改请求头 Tip:网上搜的很多代码都无法实现(要么版本较低,方法有变,要么就行不通),较多的错误是:集合属性只读。其中一个bili网友的测试方法注解一张图,但没有具体代码。参考一下。 (二)实现方法 2.1 创建对象 ChromiumWebBrowser home…

数据库精选题(二)(引言+关系代数)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;数据库 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 常见概念 一、什么是数据库&#xf…

神舟电脑怎么清理缓存文件?介绍几种简单有效方法

随着日常使用神舟电脑的时间增长&#xff0c;各种缓存文件、临时文件以及无用的数据会逐渐堆积&#xff0c;这不仅占据了宝贵的磁盘空间&#xff0c;还可能拖慢系统的运行速度&#xff0c;影响我们的使用体验。因此&#xff0c;定期清理神舟电脑中的缓存文件变得至关重要。本文…

Vue3插件安装

一、volar插件安装 volar&#xff1a;Vue文件的语法提示和高亮提醒。volar已经更名为Vue - Official&#xff0c;其安装步骤如下。 (1)打开vscode&#xff0c;点击扩展面板&#xff0c;在搜索窗口中输入volar&#xff0c;选择Vue - Official进行安装。 &#xff08;2&#xff0…

如何使用gprof对程序进行性能分析

如何使用gprof对程序进行性能分析 目录 1 gprof概述 2 gprof原理简述 3 gprof使用 3.1 gprof使用简述 3.2 gprof使用示例 4 小结 1 gprof概述 gprof 是 一个 GNU 的程序性能分析工具&#xff0c;可以用于分析C\C程序的执行性能。gprof工具可以统计出各个函数的调用次数、执…

什么是 vCPU?有什么作用

vCPU 是物理 CPU 的虚拟化版本&#xff0c;是云计算的基本组成部分。这些虚拟化计算单元的一大优势是其良好的可扩展性&#xff0c;这也是它们在云托管中发挥重要作用的原因。 vCPU 有什么作用? vCPU(虚拟中央处理器)是物理CPU的虚拟化变体。换句话说&#xff0c;vCPU 是虚拟机…

邀请函 | 桥田智能出席AMTS展会 家族新成员正式发布

作为国际汽车制造技术与装备及材料专业展览会&#xff0c;AMTS将于2024年7月3-5日在上海新国际博览中心举行。本届展会以【向“新”而行 “智”领未来】为主题&#xff0c;聚焦汽车及新能源全产业链&#xff0c;围绕“车身工程、部件工程、新能源三电工程及未来汽车开发”等技…

重塑W来|暴雨携手英特尔®单路最强“芯”加速数智创新应用

近日&#xff0c;极“至”能&#xff0c;重塑“W”来—英特尔单路最强“芯”XeonW 方案研讨会在贵阳成果举办&#xff0c;行业精英们共聚一堂&#xff0c;了解Xeon W处理器的最新进展、卓越性能和多元应用场景&#xff0c;并针对最新的行业趋势、技术创新以及战略规划进行深入…