Python Web框架简介

咱们都知道,在开发工做中,使用现成的框架或者库来作开发的话,能够节省大量的工做,这也是开发人员常说的,不要重复造轮子。在使用Python作Web开发的时候,有哪些web框架能够来帮咱们提升效率,加快网站上线呢?咱们来看这些经常使用的Web开发框架。python

1. Flask

基于BSD协议开源的Web框架,它是一个轻量级的Web框架,启动很是迅速且简单。它依赖于Werkzeug这个WSGI这个WSGI工具(用于接收路由请求)和Jinja2 模板(用于渲染网页)。它采用了一个简单核心加扩展的架构方式,也就是说,除了核心功能之外,其余的功能都须要你本身来选择对应的库来提供功能。固然,官方为你们提供了一些经常使用的库。Flask的简单从代码中就能看出来,例以下面的代码中,就是输出Hello, world页面的信息:linux

from flask import Flask
app = Flask(__name__)

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

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

Flask的官网地址是:https://palletsprojects.com/p/flask/ , 有兴趣的同窗能够到官网上研究一下它的官方文档。web

2. Django

上面咱们说到Flask的哲学是简单,那么Django的哲学应该就是大而全了。Django的内部模块,几乎提供了大部分Web开发所须要的功能,例如用户认证、数据库迁移、会话(Session)和Cookie管理等等。它的模板引擎和Flask同样,都是基于Jinja2,同时,它的对象关系映射(ORM)功能,作的很是简单,直接经过模型来操做数据,开发人员看到的只是Python里的类模型,而底层无论你是使用MySQL也好,仍是PostgreSQL、Oracle这样的数据库,均可以直接使用模型来操做,大大下降了和数据库打交道的难度,为开发人员节省了大量时间。它甚至还为你直接提供了一个管理后台,让你能够直接管理对应的数据信息,能够说是一个万能工具箱了,Django也所以被各大网站所采用。
若是你想尝试一下开发Django网站,能够根据下面的代码尝试一下:shell

# 1. 打开windows命令行窗口或者linux的shell窗口,先安装django模块
pip install django

# 2. 建立一个django项目,会在当前目录下生成一个demo项目文件夹
django-admin startproject demo

# 3. 切换到demo文件夹,里面有1个文件manage.py和demo子目录(配置文件目录)
# cd demo; ls demo
demo manage.py

# 4. 打开demo子目录里的settings.py文件,找到ALLOWED_HOSTS配置,改为下面的值
ALLOWED_HOSTS = [
    '127.0.0.1',
]

# 5. 启动demo项目,命令是:
python manage.py runserver 0.0.0.0:8000

# 6. 打开浏览器,输入地址
http://127.0.0.1:8000

此时你就会看到下面的demo页面:
Python Web框架简介数据库

想尝试的同窗,能够到django的官网上去看一下,Django也是为数很少提供中文文档的开发框架,它的官网地址是:http://djangoproject.comdjango

3. Web2py

Web2py框架是一个开源的全栈式框架,能够用于开发快速、可扩展、安全以及可移值的数据库驱动web应用。它的特色是:
自带电池,全部你须要的东西都在官方包里包含;
简单运行,不须要安装和配置,而是所有经过web界面来管理和配置。
支持多种web服务器,可经过WSGI协议和Nginx、Apache等主流浏览器良好配合
支持多种后端数据库,例如SQLite、PostgreSQL、MySQL、MSSQL等等
web2py的官网页面是:www.web2py.com,在官网页面提供了一个在线尝试开发web2py应用的页面,地址是:https://www.pythonanywhere.com/try-web2py/flask

  1. Dash
    Dash也是一个开源框架,它主要是用于开发数据分析网页,为数据科学家、数据分析人员开发的一款Web框架。它是构建在Flask,Plotly.js和React.js之上。经过几个简单的模式,Dash抽象出构建基于Web的交互式应用程序所需的全部技术和协议。
    Dash应用程序在Web浏览器中呈现,能够将应用程序部署到服务器,而后经过URL进行共享。
    因为Dash应用程序是在Web浏览器中进行查看,所以Dash本质上是跨平台和移动端的。

Dash的官网页面是:https://plot.ly/dash/windows

5. bottle

相对于上面的几个框架来讲,bottle能够说是一个微型的网页框架,它经过一个简单的资源文件来提供全部的功能,所以这个web框架通常用来设计web api,它的标准库中没有任何依赖项,也就是说,你能够把它和其余框架结合在一块儿使用。bottle的使用也很是简单,示例代码以下:后端

from bottle import route, run, template

@route('/hello/<name>')
def index(name):
    return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

执行这个代码文件,而后在浏览器中打开地址
http://127.0.0.1:8080/hello/world/api

就能看到网页上显示的Hello world字样。bottle的官网是:http://www.bottlepy.org/ , 感兴趣的同窗能够上去看看。

相关文章
相关标签/搜索