# Python Web 开发

> 原文： [https://pythonspot.com/python-web-development/](https://pythonspot.com/python-web-development/)

## 介绍

![pythonQuote](img/70a9514350dec1b5880953cebd0fae0a.jpg)

Web 应用程序通常是使用框架创建的。 框架使开发可扩展，可靠和可维护的 Web 应用程序变得更加容易。 这样可以避免一遍又一遍地重新创建相同的代码。

共同特征是：

*   URL 路由
*   输出模板
*   数据库管理
*   会话管理
*   防范常见攻击

框架可以提供部分或全部这些功能。

例如，Flask Web 应用程序框架不支持数据库，您将需要一个单独的模块来使用数据库。 Django Web 应用程序框架默认支持数据库。

## 为什么要使用 Web 框架？

在进行 Web 开发时，您要避免花费时间在已经解决的事情上进行编程。 另一方面，如果您是经验丰富的 Web 开发人员，则 Web 框架可能无法提供您所需的一切。

## 存在哪些 Python Web 框架？

Django 和 Flask 是最受欢迎的Web框架。 但是，您可能需要评估框架。 概述：

*   [Django](https://www.djangoproject.com/)
*   [Flask](http://flask.pocoo.org/)
*   [Bottle](http://bottlepy.org/docs/dev/index.html)
*   [Pyramid](http://www.pylonsproject.org/projects/pyramid/about)
*   [Muffin](https://github.com/klen/muffin)
*   [CherryPy](http://www.cherrypy.org/)
*   [web2py](http://www.web2py.com/)
*   [Falcon](http://falconframework.org/)
*   [Turbo2Gears](http://turbogears.org/)

最受欢迎的 python Web 应用程序框架是 Django，其次是 Flask。

![python web development](img/5a539b08d07773dbba46f659b5d1743c.jpg)

在 Github 上提及框架的项目数量。

## Django

![](img/2f129027ae983205309e3979ced402ab.jpg)

[Django](https://www.djangoproject.com/) 是最常用的 Python 网络框架。 它会处理很多事情，因此您可以专注于 Web 应用程序开发。 使用 Django 构建的网站处理的流量峰值很高，例如每秒 5 万次点击。

数据库访问是通过对象关系映射器实现的：您使用 Python 定义数据模型，而 Django 处理实际的数据库管理系统（SQL）。 但是，如果需要，您可以使用 Django 编写自己的 SQL 查询。 Django 支持 URL 路由。 它鼓励使用精美的 URL 设计，例如不带`.php`或`.asp`的结尾。

**特性**：

*   对象关系映射器
*   网址路由和视图
*   模板引擎
*   形式
*   认证方式
*   管理员
*   国际化
*   安全

如果您想进一步了解 Django，[阅读这里](https://pythonspot.com/django-tutorial-building-a-note-taking-app/)。你知道 [NASA](https://www.nasa.gov/)，[Bitbucket](https://bitbucket.org/) 和 [Pinterest](https://www.pinterest.com/) 的网站是用 Django 制作的嘛？

## Flask

![flask-logo](img/2a47be594c5c80724c14a822dd96b251.jpg)

[Flask](http://flask.pocoo.org/) 是一个通过设计模块化的 Python 微框架。 该框架旨在构建 Web 应用程序。 Flask 没有特定的数据库系统或 ORM 系统。 如果要使用数据库，则必须使用扩展。 Flask 通常与 SQLAlchemy 结合使用以用于数据库。

Flask 非常易于运行，一个最小的应用程序是：

```py
from flask import Flask
app = Flask(__name__)

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

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

```

该框架支持 URL 路由，模板（使用 Jinja2），会话管理，并具有一些现成的安全性。

**特性**：

*   URL 路由和视图

*   模板引擎

*   会话管理

*   日志

如果您想进一步了解 Flask，[阅读这里](https://pythonspot.com/python-flask-tutorials/)。您知道 Flask 最初是愚人节的笑话吗？

## Python 托管

要在网络上运行您的应用，您需要托管。 除非您想自己托管，否则需要一个第三方来托管。

托管服务器：

*   [PythonAnywhere.com](https://www.pythonanywhere.com/?affiliate_id=00535ced)

*   [适用于 Python 的 Vultr VPS](https://www.vultr.com/?ref=7208785)