python之web框架(Flask)

典型的框架应该具备以下几个功能:

1.管理路由

2.访问数据库;

3.管理回话和Cookies;

4.创建模板来显示HTML;

5.促进代码的重用。

几种Python主流的Web框架

Flask(是一个轻量级Web应用框架。)

   Django  Bottole  Tornado 

 

Flask依赖两个库Werkzeug和Jinja2,其中Werkzeug是一个WSGI(在Web应用和多种服务器之间的标准Python接口)工具集;Jinja2负责渲染模板。

第一步,使用Virtualenv先安装虚拟环境

pip install virtualenv

查看virtualenv版本

virtualenv --version

创建虚拟环境,cd进入virtualenv 目录

virtualenv venv

完成后,会生成一个全新的虚拟环境,其中有一个私有的Python解释器。

激活虚拟环境

venv\Scripts\activate

第二步 安装Flask

pip install flask

查看所有安装包

pip list --format columns

可以查看已经安装了Flask,且还有两个外部依赖库Werkzeug和Jinja2。

第三步 测试第一个Flask 程序

在venv同级目录下,创建一个hello.py文件。

from flask import Flask

'''
Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)
是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。
'''
app = Flask(__name__)

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

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

静态文件

在包或者模块(即venv同级目录)所在的目录中创建一个名为static文件,将css和JavaScript文件放到此文件夹内。

url_for('static', filename = 'style.css')

python之web框架(Flask)_第1张图片

模板

在包或者模块(即venv同级目录)所在的目录中创建一个名为templates文件,将html文件放到此文件夹内。

例如:




    
    


    

Hello World!

@app.route('/')
def hello_world():
    return render_template('index.html')

Flask提供的render_template()函数把“Jinja2”模板引擎集成到了程序中。render_template()函数的第一个参数是模板的文件名。随后的参数都是键值对,表示模板中变量对应的真实值。

调试模式(第一种方法)

from flask import Flask
app = Flask(__name__)

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

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

调试模式(第二种方法)

from flask import Flask
app = Flask(__name__)

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

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

 

 

你可能感兴趣的:(Python)