首页 > 其他分享 >Flask中url_for的使用传参,及多个参数

Flask中url_for的使用传参,及多个参数

时间:2023-06-04 21:55:42浏览次数:45  
标签:传参 __ return Flask app url 参数

flask.url_for(endpoint, **values)
 
参数:    
endpoint - URL的端点(函数名称)
values - URL规则的变量参数
_external - 如果设置为True,则生成绝对URL。服务器地址可以通过SERVER_NAME配置变量更改,默认为localhost。
_scheme - 指定所需URL方案的字符串。该_external 参数必须设置True或ValueError提高。默认行为使用相同的方案作为当前请求,或 PREFERRED_URL_SCHEME从应用配置,如果没有请求上下文可用。从Werkzeug 0.10开始,这也可以设置为空字符串以构建协议相对URL。
_anchor - 如果提供,则将其作为锚添加到URL。
_method - 如果提供,则显式指定HTTP方法。

示例

from flask import Flask,url_for

app = Flask(__name__)

@app.route('/index/')
def index():
    return f'Hello !!'

@app.route('/home/<int:uid>/')
def home(uid):
    return f'Hello !!{uid}'

@app.route('/show_url')
def show_url():
    # url = url_for('home') # 第1个参数是函数的名字
    # url = url_for('home',uid=1001) # 第2个参数默认开始匹配路径参数了
    url = url_for('home',uid=1001,addr='beijing') # 第2个参数默认开始匹配路径参数了,匹配不上就会以查询参数进行传递

    return f'反向查找到的URL地址:{url}'

if __name__ =='__main__':
    app.run(debug=True)

url反转

什么是url反转:通过视图函数获得url的方法就叫做url反转url反转的作用:
a. 页面重定向会用到
b. 模板页会用到
c. 加载静态文件
url反转的方法:

#引入url_for
from flask import Flask,url_for

app = Flask(__name__)


@app.route('/')
def index():
    #url_for 中加入视图函数名称,如果有参数就加上参数
    print(url_for('my_list'))
    print(url_for('article',id='abc'))
    return 'Hello World!'

@app.route('/list/')
def my_list():
    return 'list'

@app.route('/article/<id>/')
def article(id):
    return u'您请求的id是:%s' % id

if __name__ == '__main__':
    app.run(debug=True)
<!--加载css文件-->
<link href='{{ url_for('static',filename='/css/cssfile.css') }}'

页面跳转和重定向

#引入redirect和url_for
from flask import Flask,redirect,url_for

app = Flask(__name__)


@app.route('/')
def index():
    #获得url地址
    login_url=url_for('login')
    #调用redirect,参数为重定向的url
    return redirect(login_url)

@app.route('/login/')
def login():
    return u'登录'

if __name__ == '__main__':
    app.run(debug=True)

 

 

感谢分享:https://blog.51cto.com/u_11739124/3017688

 

标签:传参,__,return,Flask,app,url,参数
From: https://www.cnblogs.com/hhaostudy/p/17456453.html

相关文章

  • Flask之钩子函数
    Flask之钩子函数类似django的中间件,作用就是在进入框架的之后http方法之前或返回response之前进行一些操作Flask的钩子函数可在注册时根据注册的app或者蓝图从而确定钩子函数作用的范围(可全局也可作用某一个蓝图)钩子函数钩子函数可以分为两层说明,第一层是 app 层,第二层则......
  • Vue路由传参的几种方式
    vue路由传参是指嵌套路由时父路由向子路由传递参数,否则操作无效一、利用"router-link"路由导航父组件:使用 <router-linkto="/跳转路径/传入的参数"></router-link>例如:<router-linkto="/a/123">routerlink传参</router-link>子组件:使用this.$route.params.num接收父......
  • URL中文乱码问题
    我们主要通过两种形式提交向服务器发送请求:URL、表单。而表单形式一般都不会出现乱码问题,乱码问题主要是在URL上面。通过前面几篇博客的介绍我们知道URL向服务器发送请求编码过程实在是实在太混乱了。不同的操作系统、不同的浏览器、不同的网页字符集,将导致完全不同的编码结果。如......
  • 记录--让URL地址都变成了"ooooooooo"
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助发现一个很有创意的小工具网站,如封面图所示功能很简单,就是将一个URL地址转换为都是ooooooooo的样子,通过转换后的地址访问可以转换回到原始地址,简单流程如下图所示。转换的逻辑有点像短链平台一样,只不过这个是将......
  • c++ libcurl获取http header信息
    boolHttpDownloader::GetReceiveHeaderInfo(conststd::string&strUrl,std::map<std::string,std::string>&mapHeaderKeyValue){boolbRet=false;if(strUrl.empty()){returnbRet;}else{CURL*handl......
  • Flask Model 做分页
    #手动做分页persons=Person.query.offset((page-1))*per_page).limit(per_page)#1.手动翻页#offset().limit()#数据:1,2,3,4,5,6,7,8,9,10#页码:page=1#每页显示数量:per_page=5#page=1:1,2,3,4,5=>offset(0).limit(5)#page=2:6,7,8,9,10=>offset(5).limi......
  • How to Find Django ImageField URL
    Thissetupisworkingforme,maybeitwillhelpyou.ItisforlatestversionofDjango.ManyanswersinOSareforolderDjangoversions.URLS:fromdjango.conf.urls.staticimportstaticfromdjango.confimportsettingsurlpatterns=[#url]+static(s......
  • Spring Boot实现xml传参和返回值
    阅读文本大概需要3分钟。    虽然json作为数据传输的格式大型其道,但是使用xml格式传输的系统还是在一些存量的系统中存在。另外WebService本身就是使用xml格式进行数据传输。今天用个小例子看看SpringBoot如何实现xml传参和返回值。1、新建maven项目,添加依赖1.<projectxm......
  • 基于shiro+jwt的真正rest url权限管理,前后端分离
    bootshiro&usthebootshiro是基于springboot+shiro+jwt的真正restfulURL资源无状态认证权限管理系统的后端usthe是restfulURL资源无状态认证权限管理系统的前端,基于angular+typeScript+adminLte区别于一般,提供页面可配置式的,动态的restfulapi安全管理支持数据传输动态......
  • Web安全测试—URL中的大小写敏感
    URL中某些部分是大小写敏感的(意思是大写和小写字母表示不同内容),其他部分则对大小写不敏感。我们来简单的了解下协议标识符(HTTP或HTTPS)是大小写不敏感的。我们输入HTTP、http、hTPt,都是可以的。用户ID和密码一般情况下是敏感的,除非所使用的服务器软件不在意大小写。......