flask 反向解析示例
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 反向解析示例的更多相关文章
- Flask框架(二)—— 反向解析、配置信息、路由系统、模板、请求响应、闪现、session
Flask框架(二)—— 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 目录 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 一.反向解析 1.什么是反向解析 ...
- Django3 Django 路由分发,反向解析,2.0版本的path
urls配置像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行. 1.简 ...
- Django url配置 正则表达式详解 分组命名匹配 命名URL 别名 和URL反向解析 命名空间模式
Django基础二之URL路由系统 本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11版本 ...
- Django--路由控制 ——URL反向解析
Django--路由控制 本文目录 一 Django中路由的作用 二 简单的路由配置 三 有名分组 四 路由分发 五 反向解析 六 名称空间 七 django2.0版的path 回到目录 一 Djan ...
- django系列3.2--url的别名和反向解析 reverse
命名URL和反向解析 在网页中某些要提交的地址等,需要改变的时候,此时网页过多,如果一个一个的去改,工作量巨大,这时就可以用到命名url,在html文件的模版中,只写命名,这样当需要我们改变urls. ...
- Linux的DNS反向解析部署
下面的部署是在Linux的DNS正向解析示例上进行修改的. 如果有什么问题或者错误,可以访问上篇帖子 下面开始有关DNS的服务部署.<DNS反向解析> 工具:虚拟机 centos7 配置: ...
- Django---路由系统,URLconf的配置,正则表达式的说明(位置参数),分组命名(捕获关键字参数),传递额外的参数给视图,命名url和url的反向解析,url名称空间
Django---路由系统,URLconf的配置,正则表达式的说明(位置参数),分组命名(捕获关键字参数),传递额外的参数给视图,命名url和url的反向解析,url名称空间 一丶URLconf配置 ...
- Django基础之命名URL和URL反向解析
在使用Django项目时,一个常见的需求是获得URL的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等). 人们强烈希望不要硬编码这些URL(费力 ...
- Django路由系统-URL命名&URL反向解析
命名URL和URL反向解析 前言 起始样式,HTML中的href是写死的,不能更改,如下示例代码: # urls中 urlpatterns = [ url(r'^admin/', admin.site ...
随机推荐
- iOS 百度地图报私有api的解决方案
1.Build Settings-->搜索other linker Flags-->将other linker Flags设置为-objc 2.用2.1.1的版本的百度地图 3.换高德地图
- 常用SQL50句
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题 ...
- Centos7彻底删除PHP
查看php版本命令: #php -v 下面的命令是删除不干净的 #yum remove php 因为使用这个命令以后再用 #php -v 还是会看到有版本信息的..... 必须强制删除,使用下面命令查 ...
- Node.js导入jquery.min.js报错
报错如下: 一看就是路径问题,可是代码中路径看起来貌似没错,如下: 解决方法: 引入方式如下: <script type="text/javascript" src=&quo ...
- Spring Cloud(7.3):配置Consumer Server
接下来我们创建一个消费者服务.消费者服务从生产者服务拿取商品-价格信息,并保存在Redis中.同时,接收消息队列中生产者服务的更新提示,如果某个商品-价格被修改,则删除Redis中的缓存数据,并重新从 ...
- Python3之多重继承
继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能. Animal类层次的设计,假设我们要实现以下4中动物 Dog-狗狗 Bat-蝙蝠 Parrot-鹦鹉 Ostrich-鸵鸟 ...
- idea的enable auto-import/内存设置
设置pom.xml依赖的自动导入 设置idea的memory heap On the Help menu, click Edit Custom VM Options. Set the -Xmx opt ...
- 汉化Git Gui
先来一个图: 其实使用自带的图形化操作git还是很方便的,但是英文界面还是让相当一部分小伙伴不太舒服,比如我哈. 汉化包地址:链接: https://pan.baidu.com/s/1qQtBUsf1 ...
- Redis源码解析
一.src/server.c 中的redisCommandTable列出的所有redis支持的命令,其中字符串命令包括从get到mget:列表命令从rpush到rpoplpush:集合命令包括从sad ...
- Python 用hashlib求中文字符串的MD5值 (转自 haungrui的专栏)
使用过hashlib库的朋友想必都遇到过以下的错误吧:“Unicode-objects must be encoded before hashing”,意思是在进行md5哈希运算前,需要对数据进行编码 ...