• Flask web开发之路三


    今天写一个URL传参、反转URL、页面跳转和重定向

    URL传参 

    主app文件代码:

    from flask import Flask
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    @app.route('/article/<id>')
    def article(id):
        return '您请求的参数是: %s' %id
    
    if __name__ == '__main__':
        app.run()

    ### url传参数:
    1. 参数的作用:可以在相同的URL,但是指定不同的参数,来加载不同的数据。
    2. flask中如何使用参数:
    '''
    @app.route('/article/<id>')
    def article(id):
    return '您请求的参数是: %s' %id
    '''
    * 参数需要放在两个尖括号中。
    * 视图函数中需要放和url中的参数同名的参数

    反转URL

    首先,正转是指由URL中的参数得到视图函数中的内容,那么反转就是指从视图函数得到URL的参数内容

    代码如下:

    from flask import Flask,url_for
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def index():
        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 '您请求是id是:%s' % id
    
    
    if __name__ == '__main__':
        app.run(debug=True)

    输出得到:

    注意,这里article函数,有id参数,在url_for函数中需要传入参数,否则会报错

    ### 反转url:
    1. 什么叫做反转url:从视图函数到URL的转换叫做反转url
    2. 反转url的用处:
    * 在页面重定向的时候,会使用url反转
    * 在模板中,也会使用url反转

    页面跳转和重定向

    代码如下:

    from flask import Flask,redirect,url_for
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def index():
        login_url = url_for('login')
        return redirect(login_url)
        return '这是首页!'
    
    @app.route('/login/')
    def login():
        return '这是登录页面!'
    
    @app.route('/question/<is_login>/')
    def question(is_login):
        if is_login == '1':
            return '这是发布问答页面'
        else:
            return redirect(url_for('login'))
    
    if __name__ == '__main__':
        app.run(debug = True)

    这里实现的功能是:

    1.登录主页即可跳转到'login'登录页面

    2.如果'is_login’这个参数不为1,则会跳转到登录页面

    ### 页面跳转和重定向
    1. 用处:在用户访问一些需要登录的页面的时候,如果用户满意登录,那么可以让他重定向到登录页面
    2.代码实现:
    '''
    from flask import redirect,url_for
    redirect(url_for('login'))
    '''

    人生苦短,何不用python
  • 相关阅读:
    Hadoop Partitioner编程
    Hadoop Mapreduce之WordCount实现
    在linux下编写maven程序
    Hadoop RPC通信机制
    Hadoop 源码分析——Job提交过程
    HDFS的java接口
    hadoop 文件系统shell命令
    同步 vs 异步
    C++ STL详解
    C++中struct和class定义类区别
  • 原文地址:https://www.cnblogs.com/yqpy/p/8641354.html
Copyright © 2020-2023  润新知