1 静态网页 和动态网页
1 静态网页:无法与服务器做动态交互的网页
2 动态网页:允许与服务器做动态加护的
2 WEB 与 服务器
1 WEB :网页(HTML,css,JS)
3 服务器的作用:
1 存储WEB上的信息
2 能够处理用户的请求(request)并给出响应(response)
3 执行服务器端程序
4 具备一定的安全功能
框架
1 什么是框架
框架是一个为了解决开放性问题而存在一种程序结构
框架本身提供了一些最基本的功能
我们只需要在基础功能上抢建自己的操作就可以了
2 python web 框架
1 flask - 轻量
2 webpy - 轻量级
3 Tornado - 异步框架
4 django - 重量级框架
3 框架模式
1 MTV
M : Models ,模型层,主要负责数据库建模
T : T ,用于处理用户的显示内容,如 html
V : Views,视图,处理与用户打交道的内容
2 MVC
M: 模型层,主要负责数据库建模
V: 视图,处理用户的显示内容
C: Controller,控制器,用于与用户交互的部分内容(请求和响应)
4 Flask框架
1 什么是Flask框架
Flask是一个基于python并且依赖于Jinja2 模板引擎和Weryzeug WSGI服务的一个微型框架
WSGI : Web Server Gatway Interface(WEB服务网关接口)
Flask 是采用MTV的框架模式
5 Flask- 路由(route)
1 什么是路由
客户端发送请求给web服务器,web 服务器再将请求发送给Flask程序实例
程序实例需要知道每个url 请求所对应的运行代码是谁。所以程序中必须要创建一个url 请求地址 到 python 运行函数的一个映射。处理url
和函数之间的关系的程序就是“路由”
2 路由的体现
在 Flask 中,路由是通过 @app.route 装饰器来表示的
1 路由的基本表示
2 带参数的路由
路由中可以携带参数表示不同的数据
1 基本代参路由
@aap.route('./show/<name>')
def show(name):
name:表示的就是从地址栏上传递过来的数据
return 'xxx'
2 带多个参数的路由
@app.show('/show/<name>/<age>')
3 指定参数类型的路由
@app.route('/show/<name>/<int:age>') int:类型转换器
Flask 中所支持的类型转换器:
类型转换器 作用
缺省 字符串,不能有斜杠('/')
int: 整型
float: 浮点型
path: 字符串,可以有斜杠('')
3 为多个访问地址匹配同一个视图处理函数
@app.route('/地址1')
@app.route('/地址2')
...
def index()
return ''
4 路由中设置 HTTP请求方法
Flask路由也允许设置对应的请求方法(post/get),只有将匹配上请求方法的路径才能交给对应的视图处理函数,
所有的路由,默认只接受 get 请求 @app.route('/xxx/xx',methods=['GET','POST'])
def xxx:
#该函数即能接受get 请求也能接受post请求
pass
5 URL 的反向解析
正向解析:程序自动解析,根据@app.route()中的访问路径,来匹配处理函数 反向解析:通过视图处理函数的名称自动生成对应的访问路径 在Flask中要实现反向解析的话需要使用:
url_for(funName,args)
funName:要生成地址的函数名
args:该地址中需要的参数
# python 3.7
from flask import Flask, url_for app = Flask(__name__)
print(app,'这里是app') @app.route('/index')
def index():
return '<h1>这里是首页</h1>' @app.route('/admin/login/form/show/<name>')
def show(name):
return '参数值为:%s'%name @app.route('/url')
def url():
# 通过index()解析出对应的访问路径,,此处开始进行反向解析
url_index= url_for('index')
url_show= url_for('show',name='liu')
print(url_show)
return '<a href="%s">wee</a>'%url_show if __name__ == '__main__':
app.run(debug=True)

--反向解析示例


 

flask 反向解析示例的更多相关文章

  1. Flask框架(二)—— 反向解析、配置信息、路由系统、模板、请求响应、闪现、session

    Flask框架(二)—— 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 目录 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 一.反向解析 1.什么是反向解析 ...

  2. Django3 Django 路由分发,反向解析,2.0版本的path

    urls配置像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行. 1.简 ...

  3. Django url配置 正则表达式详解 分组命名匹配 命名URL 别名 和URL反向解析 命名空间模式

    Django基础二之URL路由系统 本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11版本 ...

  4. Django--路由控制 ——URL反向解析

    Django--路由控制 本文目录 一 Django中路由的作用 二 简单的路由配置 三 有名分组 四 路由分发 五 反向解析 六 名称空间 七 django2.0版的path 回到目录 一 Djan ...

  5. django系列3.2--url的别名和反向解析 reverse

    命名URL和反向解析 在网页中某些要提交的地址等,需要改变的时候,此时网页过多,如果一个一个的去改,工作量巨大,这时就可以用到命名url,在html文件的模版中,只写命名,这样当需要我们改变urls. ...

  6. Linux的DNS反向解析部署

    下面的部署是在Linux的DNS正向解析示例上进行修改的. 如果有什么问题或者错误,可以访问上篇帖子 下面开始有关DNS的服务部署.<DNS反向解析> 工具:虚拟机 centos7 配置: ...

  7. Django---路由系统,URLconf的配置,正则表达式的说明(位置参数),分组命名(捕获关键字参数),传递额外的参数给视图,命名url和url的反向解析,url名称空间

    Django---路由系统,URLconf的配置,正则表达式的说明(位置参数),分组命名(捕获关键字参数),传递额外的参数给视图,命名url和url的反向解析,url名称空间 一丶URLconf配置 ...

  8. Django基础之命名URL和URL反向解析

    在使用Django项目时,一个常见的需求是获得URL的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等). 人们强烈希望不要硬编码这些URL(费力 ...

  9. Django路由系统-URL命名&URL反向解析

    命名URL和URL反向解析 前言 起始样式,HTML中的href是写死的,不能更改,如下示例代码: # urls中 urlpatterns = [ url(r'^admin/', admin.site ...

随机推荐

  1. thymeleaf中switch case多出一个空行

    以下是<thymeleaf3.0.5中文参考手册.pdf>中的代码,官方代码没有具体去查询. <div th:switch="${user.role}"> ...

  2. 【用户体验】Google关闭标签的体验

    https://www.uisdc.com/hunter/0221334485.html 在优设-细节猎人里有不少好案例.

  3. Golang 开发框架 gin 项目时笔记

    1.模板引入时报错: func main() { router := gin.Default() router.LoadHTMLGlob("templates/**/*") rou ...

  4. Web前端开发工具

    WebStorm: dreamweaver; Hbuilder: sublime text: 前端神器brackets.

  5. 项目中常用的19条MySQL优化技巧

    原文:https://segmentfault.com/a/1190000012155267 声明一下:下面的优化方案都是基于 “ Mysql-索引-BTree类型 ” 的 一.EXPLAIN 做My ...

  6. 查看某个进程PID对应的文件句柄数量,查看某个进程当前使用的文件句柄数量

    ================================ 1.linux所有句柄查询 lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more ...

  7. Object Detection in 20 Years: A Survey【持续更新中】

    原文:https://www.cnblogs.com/zhaojunjie/p/10886099.html 论文链接:https://arxiv.org/pdf/1905.05055.pdf 1. 引 ...

  8. layuiAdmin (单页版)常见问题与解决方案

    最近项目开发中用到了layuiAdmin的单页版进行开发,期间遇到一些问题,在此总结一二: 单页版缓存问题 由于单页面版本的视图文件和静态资源模块都是动态加载的,所以可能存在浏览器的本地缓存问题,因此 ...

  9. Jmeter 跨线程组传递参数 之两种方法(转)

    终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...

  10. SrpingBoot入门到入坟02-HelloWorld的细节和初始自动配置

    关于SpringBoot的第一个HelloWorld的一些细节: 1.父项目 首先查看项目中的pom.xml文件 文件中有个父项目,点进去则: 它里面也有一个父项目,再点进去: 可以发现有很多的依赖版 ...