zoukankan      html  css  js  c++  java
  • 初学Flask(1)

    今天在学习Flask,边看官方文档一边动手运行例子,以注释的形式写了一些笔记,分享给大家。

    Flask官方文档,快速入门:

    ex1:

    #coding:utf-8
    #######################
    # 1.URL的解析
    ######################
    
    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/a') 
    #这里是用于测试笔记2的
    def a():
        return 'test a'
        
    @app.route('/user/<username>')
    def show_user_profile(username):
        # show the user profile(简介) for that user
        # 可以接收url传递的变量
        return 'User %s' % username
    
    @app.route('/post/<int:post_id>')
    def show_post(post_id):
        # show the post with the given id, the id is an integer
        # 在地址后面加/post/211654,页面显示Post 211654
        return 'Post %d' % post_id
        
    @app.route('/hello') #修饰url
    def hello_world():
        return 'Test debug'
    
    @app.route('/')
    def index():
        return 'Index Page'
    
    if __name__ == '__main__':
        app.debug = True  # 作用是修改完文件,服务器自动重启
        app.run(host = '0.0.0.0')
        
    # 笔记:
    # 1.route(线路)——传入线路(url)触发route下面的方法
    # 2.注意区别
    # route('/a/')和route('/a') 系统不管是'/a/'还是'/a'
    # 都会为其自动增加'/','/a/'正常运行,'/a'报错!
    #   

    ex2:

    #coding:utf-8
    #######################
    # 2.URL的构建
    ######################
    
    # url_for()函数是用来构建指定函数的URL
    from flask import Flask, url_for
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        pass
        
    @app.route('/login')
    def login():
        pass
        
    @app.route('/user/<username>')
    def profile(username):
        pass
        
    # 告诉 Flask 我们正在处理一个请求,而实际上也许我们
    # 正处在交互 Python shell 之中,并没有真正的请求(后面再说)
    with app.test_request_context(): 
        print url_for('index')
        print url_for('login')
        print url_for('login', next='/')
        print url_for('profile', username='Xue Wei Han')
        
    
    #为什么不在把 URL 写死在模板中,反而要动态构建?有三个很好的理由:
    
    # 1.反向解析通常比硬编码 URL 更直观。同时,更重要的是你可以只在一个地方改变 URL ,而不用到处乱找。
    # 2.URL 创建会为你处理特殊字符的转义和 Unicode 数据,不用你操心。
    # 3.如果你的应用是放在 URL 根路径之外的地方(如在 /myapplication 中,不在 / 中) 
    # url_for() 会为你妥善处理。
  • 相关阅读:
    一些性能查询的SQL 备忘
    Oracle Stream配置详细步骤
    Oracle 一次生产分库,升级,迁移
    Oracle数据文件和临时文件的管理
    db_recovery_file_dest_size 修改大一点及删除归档日志 |转|
    android启动优化
    C++ primer 中文第三版 阅读笔记 第八章
    XMPP通讯开发-好友获取界面设计
    用SHELL与列表处理了件尴尬事
    各种快递查询--Api接口
  • 原文地址:https://www.cnblogs.com/xueweihan/p/4555705.html
Copyright © 2011-2022 走看看