• flask入门(一)


    flask是一个轻量级的框架,据说跟django跟比是真的轻。

    首先要先配置一个虚拟环境,flask项目需要在那个虚拟环境里运行,这里需要用的venv库实在python3里的标准库,不过有的linux里貌似没有

    首先先创建一个文件用来存放这个,我这边命名为flask,然后在cmd里打开,执行命令python -m venv virtual-environment-name,会创建一个虚拟环境,virtual-environment-name这是虚拟环境的名字,可以修改,我创建了一个venv的虚拟环境,然后执行venvScriptsactivate,就可以激活虚拟环境了

    然后在虚拟环境中安装flask包,注意,一定要在虚拟环境中,而不是外面。

    用pip install flask,安装flask库。

    安装成功后,就可以去试一试了

    from flask import FLASK
    #flask的应用构造函数,应用初始化
    app = Flask(__name__)
    在 Flask 应用中定义路由的最简便方式,是使用应用实例提供的app.route 装饰器。
    直接看代码会更容易理解点
    from flask import FLASK
    
    app = Flask(__name__)
    
    @app.route('/hello')
    def hello():
       return '<h1>Hello World !</h1>'

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

    也可以不用route,用app.add_url_rule方法

    上述代码在输入http://127.0.0.1:5000/之后会自动跳转

    将代码放在hello.py文件

    在虚拟环境下,运行这个文件,python hello.py,

    如上图,这样就是成功创建了,服务器启动后会一直处理请求,直到ctrl+c退出。

    去浏览器输入对应url,出现下图即为创建成功了

    当然route还能这样用

    @app.route('/user/<name>')
    def user(name):
        return '<h1>Hello,%s !</h1>' %name
    路由 URL 中放在尖括号里的内容就是动态部分,任何能匹配静态部分的 URL 都会映射到这个路由上。调用视图函数时,Flask 会将动态部分
    作为参数传入函数。在这个视图函数中,name 参数用于生成个性化的欢迎消息。
     
    如下图。

    在官方文档里还结合了下request库,

    def index():
     user_agent = request.headers.get('User-Agent')
     return '<p>Your browser is %s</p>' % user_agent
    
    app.add_url_rule('/', 'index', index)

    是不是有点cool呢

    总的代码如下,感觉还是挺简单的呢

    from flask import Flask
    from flask import request
    
    app = Flask(__name__)
    
    def index():
     user_agent = request.headers.get('User-Agent')
     return '<p>Your browser is %s</p>' % user_agent
    
    app.add_url_rule('/', 'index', index)
    
    @app.route('/hello')
    def hello_world():
       return '<h1>Hello World !</h1>'
    
    @app.route('/user/<name>')
    def user(name):
        return '<h1>Hello,%s !</h1>' %name
    
    if __name__ == '__main__':
       app.run(debug=True)
     
     
     
     
     
     
  • 相关阅读:
    动画 | 视频图解红黑树
    动画:链表快慢指针解题技巧
    全!全!全!GitHub 总星 5.7w+,最赞的操作系统软件都在这里啦!
    视频讲解 | 图解剑指offer:二维数组的查找
    动态规划之空间优化与总结回顾
    LeetCode 图解 | 21.合并两个有序链表
    LeetCode 题解 | 1312. 让字符串成为回文串的最少插入次数
    LeetCode 图解 | 739.每日温度
    LeetCode 图解 | 1214.查找两颗二分搜索树之和
    java基础总结——java中continue&break&return关键字
  • 原文地址:https://www.cnblogs.com/afei123/p/11286063.html
Copyright © 2020-2023  润新知