Flask route里面的参数

摘要:
状态代码:308#strict_斜线,如果我是strict_斜杠=True是否严格要求路线匹配规则?#默认值默认参数@app。routedefz:return“123”Join#动态参数:路由地址类型不受限制,默认为string。如果定义了int,则只能将其传递给int@app类型的页面。routefook:return“当前来自页面{page}”#动态参数:@app。routefook1:return“当前来自页面{page}”@app。routefook2:返回“当前来自页面{页}{行}行{行2}行”#动态参数应用场景:组合send_file@app.routedeflook3:file_路径=os.path。joinreturnsend_file_name__=='__main__':app.run
import json
import os
from flask import Flask,render_template,redirect,send_file,jsonify,url_for

app = Flask(__name__)
app.debug=True
@app.route('/index')
def index():
    # 返回值类型必须是字符串
    lis=[1,2,3]
    new_string = json.dumps(lis)
    return new_string

@app.route('/h1')
def h1():
    #返回一个模版
    return render_template('home.html')

@app.route('/h2')
def h2():
    #重定向
    return redirect('index')

@app.route('/getFile')
def getFile():
    #返回文件
    return send_file('阿瞎.jpg')

@app.route("/get_json")
def get_json():
    #返回json文件格式
    data={
        "name":"朱希博",
        "pwd":"123"
    }
    return jsonify(data)

#请求request,必须导入request
from flask import request

#endpoint用法:视图函数与路由的对应关系,endpoint不能重复
    #用法一:将名字复杂的函数名利用endpoint简单命名
    #此时因为endpoint定义命名后,当url_for反向访问(多用于页面之间跳转)时,只需要写 url_for(‘t’) 即可访问到该页面
    #用法二:最大的优点就是url_for反向访问地址时,是动态获取路由的,HTML动态获取路由
@app.route('/login_01')
def login():
    return render_template(url_for('login.html'))

@app.route('/show_test001',endpoint='t')
def show_test():
    return render_template('test_endpoint.html')


@app.route('/m',endpoint='ind_name')
def ind():
    print(url_for('ind_name'))
    return "<input type='text'>"


#redirect_to,只要访问/z路径,就会重定向到/m的路径页面去。 状态码:308(永远重定向)
#strict_slashes,如果我是strict_slashes=True。是否严格要求路由匹配规则
#defaults默认参数
@app.route("/z",endpoint='z',methods=["GET","POST"],redirect_to='/m',strict_slashes=True,defaults={'nid':123})
def z(nid):
    return "123".join(nid)

#动态参数:不限定路由地址类型,默认是string,如果定义int就只能传int类型的页
@app.route("/look/<int:page>")
def look(page):
    return f"当前是第{page}页来"

#动态参数:
@app.route("/look1/<string:page>")
def look1(page):
    return f"当前页是{page}"

@app.route("/look2/<int:page>_<int:row>_<int:row_2>")
def look2(page,row,row_2):
    return f"当前是第{page}页{row}行{row_2}行"


#动态参数应用场景:结合send_file
@app.route("/look3/<folder>/<filename>")
def look3(folder,filename):
    file_path = os.path.join(folder,filename)
    return send_file(file_path)


if __name__ == '__main__':
    app.run('127.0.0.1',9090)

免责声明:文章转载自《Flask route里面的参数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C# 连接Oracle数据库,免安装oracle客户端用 Java 爬美女图片,厉害了。。下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

用Flask 实现文件服务器(包含docker版本)

最近有了公司局域网内共享axure原型的需求,所以用Flask开发了一款文件上传/查看工具,记录一下其中的问题和解决方案 这个工具参照了一位大神的uploads工具https://zhuanlan.zhihu.com/p/24429519?refer=flask,保留了其初始架构,之后对功能做了较大的改动 改动后的工具在这里,有需要的同学可以参考: htt...

Flask-爱家租房项目ihome-01-项目框架的搭建

项目介绍 该项目是一个简易版的租房平台项目, 房东可以在平台上发布自己的房源, 房客可以搜索心仪的房源并进行一定时间的租赁. 主要功能模块包括用户模块(注册/登录/个人信息), 租房首页, 房屋列表页,房屋详情页, 房屋预订页, 支付宝支付等. 该项目属于不完全的前后端分离, 前端使用的是html+css+jquery, 后端使用的是flask框架, 后端...

Flask 基础组件(二):配置文件

配置参数 flask中的配置文件是一个flask.config.Config对象(继承字典),默认配置为: { 'DEBUG': get_debug_flag(default=False), 是否开启Debug模式 'TESTING':...

flask logger

Flask uses standard Python logging. All Flask-related messages are logged under the 'flask' logger namespace. Flask.loggerreturns the logger named 'flask.app', and can be used to...

10、密码扩展,使用Flask-Login认证用户

密码扩展 1、使用Werkzeug实现密码散列 在User模型中加入密码散列 app/models.py 计算密码散列值的函数通过名为password的只写属性实现,设定这个属性的值时,赋值方法会调用Werkzeug提供的generate_password_hash()函数,并把得到的结果赋值给password_hash字段。 如果试图读取password...

flask 使用Flask-SQLAlchemy管理数据库(连接数据库服务器、定义数据库模型、创建库和表) --

使用Flask-SQLAlchemy管理数据库 扩展Flask-SQLAlchemy集成了SQLAlchemy,它简化了连接数据库服务器、管理数据库操作会话等各种工作,让Flask中的数据处理体验变得更轻松。首先使用pipenv安装Flask-SQLAlchemy以及其依赖(主要是SQLAlchemy): pipenv install flask-sqla...