zoukankan      html  css  js  c++  java
  • Python----Flask Web框架(一)

    Flask是一个轻量级的基于Python的web框架。

    本文适合有一定HTML、Python、网络基础的同学阅读。

    1. 简介

    这份文档中的代码使用 Python 3 运行。
    是的,所以读者需要自己在电脑上安装Python 3 和 pip3。建议安装最新版本,我使用的是Python 3.6.4
    安装方法,可以自行谷歌或者百度。
    建议在 linux 下实践本教程中命令行操作、执行代码。

    2. 安装

    通过pip安装Flask即可:

    pip install flask

    查看Flask的介绍和版本:

    >>> import flask
    >>> print(flask.__doc__)
    >>> print(flask.__version__)

    3. 从 Hello World 开始

    本节主要内容:使用Flask写一个显示”Hello World!”的web程序,如何配置、调试Flask。

    3.1 Hello World

    按照以下命令建立Flask项目HelloWorld:

    mkdir HelloWorld 
    mkdir HelloWorld/static
    mkdir HelloWorld/templates 
    touch HelloWorld/server.py

    statictemplates目录是默认配置,其中static用来存放静态资源,例如图片、js、css文件等。templates存放模板文件。
    我们的网站逻辑基本在server.py文件中,当然,也可以给这个文件起其他的名字。

    server.py中加入以下内容:

    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return "Hello World!"
    
    if __name__ == '__main__':
        app.run()
         # app.run(host='127.0.0.1',port=5000)
    
    

    运行server.py

     打开浏览器访问http://127.0.0.1:5000/,浏览页面上将出现Hello World!

     终端里会显示下面的信息:

     变量app是一个Flask实例,通过下面的方式:

    @app.route('/')
    def hello_world():
        return "Hello World!"

    当客户端访问/时,将响应hello_world()函数返回的内容。注意,这不是返回Hello World!这么简单,Hello World!只是HTTP响应报文的实体部分,状态码等信息既可以由Flask自动处理,也可以通过编程来制定。

    3.2 修改Flask的配置

    app = Flask(__name__)

    上面的代码中,python内置变量__name__的值是字符串__main__ 。Flask类将这个参数作为程序名称。当然这个是可以自定义的,比如app = Flask("my-app")

    Flask默认使用static目录存放静态资源,templates目录存放模板,这是可以通过设置参数更改的:

    app = Flask("my-app",static_folder="path1",template_folder="path2")

    更多参数请参考__doc__

    >>> from flask import Flask
    >>> print(Flask.__doc__)

    3.3 调试模式

    修改代码中的输出,然后查看浏览器上是否有变化。如果你照做的话,可以看到什么变化都没有。其实Flask内置了调试模式,可以自动重载代码并显示调试信息。这需要我们开启调试模式,方法很简单,设置FLASK_DEBUG环境变量,并将值设置为1。或者设置app.debug=True

    from flask import Flask

    app = Flask(__name__)
    app.debug = True

    @app.route('/')
    def hello_world():
        return 'Hello World!'

    @app.route('/login')
    def login():
        return 'Login'
    if __name__ == '__main__':
        app.run()

    然后再次运行程序,会看到有这样的输出。这时候如果再次修改代码,会发现这次Flask会自动重启。

     

    3.4 绑定IP和端口

    默认情况下,Flask绑定IP为127.0.0.1,端口为5000。我们也可以通过下面的方式自定义:

    app.run(host=='0.0.0.0',port=80,debug=False)

    0.0.0.0代表电脑所有的IP。80是HTTP网站服务的默认端口。什么是默认?比如,我们访问网站http://www.example.com,其实是访问的http://www.example.com:80,只不过:80可以省略不写。

  • 相关阅读:
    【实用】网站常用单词的中英文对照表
    [译][转]jQuery 1.4 发布:15个新特性实例精讲
    popupWindow 简单实现
    程序员修炼之道 读书笔记
    Burp Suite详细使用教程Intruder模块详解
    漏洞挖掘练习环境(linux方向)
    linux系统操作常见问题(ubuntu和opensuse)
    驱动的加载顺序
    磁盘驱动相关知识
    VS 驱动工程创建软件(EeasySyS)
  • 原文地址:https://www.cnblogs.com/even160941/p/13632010.html
Copyright © 2011-2022 走看看