本文概述
- 什么是Django?
- 什么是Python Flask?
- Flask和Django之间的比较
文章图片
Django和Flask都是Python的流行框架。每个框架都有其独特的质量, 我们可以根据项目要求使用它。 Django是一个完整的Web框架, 用于大型和复杂的Web应用程序, 而Flask是轻量级的可扩展Web框架。 Django随附了包含电池的方法, 并提供了最惊人的功能。
它是基于两个POCO项目开发的。第一个是WSGI(Web服务器网关接口)工具包和Jinja2模板引擎。让我们看一下Django和flask的简要介绍。
什么是Django? Django的正式定义是:” Django使你更容易以更少的代码更快地构建更好的Web应用程序” 。它用作全栈式Web框架, 它自己执行许多任务。 SQLite数据库已经内置在此框架中。
使用Django的公司
以下是使用Django作为框架的巨型公司:
- Instagram的
- Udemy
- Coursera
- 否认
使用Flask的公司:
- 奈飞
- 举
- Zillow
- MailGui
基本信息
Flask由Adrian Holovaty和Simon Willison于2010年发布。它是通过使用大约10000行源代码制成的。它用于开发简单的Web应用程序, 微服务和” 无服务器” 平台。它提供URL路由, 请求和错误处理以及开发服务器。
Django于2005年发布, 使用24万行源代码制作而成。开发更复杂的Web应用程序所需的时间和精力更少。它拥有一个建立良好的庞大社区, 致力于增强框架功能。
功能性
Django是一个全栈的Python Web框架, 它遵循包含电池的方法。这种方法使Django易于为Web开发人员创建基本的Web开发任务, 例如用户身份验证, URL路由和数据库模式迁移。 Django还提供了一个内置的模板引擎, ORM系统和自举工具, 在自定义Web开发中非常有用。
Flask是一个简单, 轻巧且易于使用的框架。它包含的内置功能少于Django。但是, 它为Web开发人员提供了便利, 使其可以保持Web应用程序核心的可扩展性和直接性。
数据库
Flask没有数据库层, 没有ORM, 不支持NoSQL, 通过SQLAlchemy执行数据库操作。
Django提供了一个ORM系统来执行标准的数据库操作, 而无需编写冗长的SQL查询。
安全
Flask具有针对多种常见威胁(例如CSRF, XSS和SQL注入)的内置安全性。
与其他Web框架相比, Django更安全。它包含一个较小的代码库, 因此不太可能遭到未经授权的人攻击。为了使其更加安全, 需要评估和监视第三方库和扩展。
灵活性
Django遵循电池包含方法, 该方法可帮助开发人员在不使用第三方工具和库的情况下构建各种Web应用程序。但是开发人员无法更改Django提供的模块。我们必须使用这些可用的库来构建Web应用程序。
另一方面, Flask是一个微型且可扩展的Web框架。通过使用Web开发工具和库, 它可以根据其需求灵活地开发Web应用程序。 Flask由于其简单且可自定义的体系结构, 因此是初学者的首选框架。
内置自举工具
Django随附名为–django-admin的内置引导程序工具。无需使用任何外部输入, 开发人员即可轻松构建应用程序。我们可以将一个项目分为几个应用程序。开发人员可以使用django-admin在项目内创建一个新应用程序, 而Flask不包含内置的引导程序工具。
速度
Django和Flask的工作速度相同。编程语言或Web框架决不负责速度的降低。相反, 由于数据库查询, 缺少缓存或不使用CDN进行前端断言, 任何网站都会变慢。
特征
Django的
- 它具有强大的文档。
- 世界各地的广泛社区。
- 它由内置管理员组成。
- 异步功能。
- 它比其他框架更安全。
- 它是一个轻量级且可扩展的WSGI Web框架。
- 它提供了一个非关系数据库。
- 它具有轻量级的代码库。
让我们使用这两个框架在网页上显示Hello World。
Python Flask
首先, 使用pip install flask命令安装flask, 它将下载Python Flask中的整个配置, 并创建一个新文件hello_flask.py。该程序如下:
from flask import Flask, escape, requestapp = Flask(__name__)@app.route('/')def hello():name = request.args.get("name", "World")return f'Hello, {escape(name)}!'
然后从命令行启动Flask服务器:
$ env FLASK_APP=hello_flask.py flask run* Serving Flask app "hello_flask.py"* Environment: productionWARNING: This is a development server. Do not use it in a production deployment.Use a production WSGI server instead.* Debug mode: off* Running on http://127.0.0. 1:5000/ (Press CTRL+C to quit)
单击上面的链接, 它将在网页上打印Hello World。
Django的
首先, 使用pip install django命令安装django。使用以下代码创建hello_django.py:
from django.conf import settingsfrom django.core.handlers.wsgi import WSGIHandlerfrom django.core.management import execute_from_command_linefrom django.http import HttpResponsefrom django.urls import pathsettings.configure(ROOT_URLCONF=__name__, DEBUG=True, )def hello_world(request):return HttpResponse("Hello, Django!")urlpatterns = [path('', hello_world)]application = WSGIHandler()if __name__ == "__main__":execute_from_command_line()
在终端中输入以下命令:
python hello_django.py runserver
Watching for file changes with StatReloaderPerforming system checks...System check identified no issues (0 silenced).December 17, 2019 - 13:48:54Django version 3.0, using settings NoneStarting development server at http://127.0.0.1:8000/Quit the server with CONTROL-C.
【Flask和Django有什么不同和区别()】当你单击以上链接时, 它将在网页上显示Hello World。
推荐阅读
- Python Flask URL构建
- Python Flask模板详细用法介绍
- Python Flask SQLite数据库开发实例
- Python Flask教程介绍
- Python Flask SQLAlchemy ORM数据开发实例
- Python Flask如何使用和处理会话session()
- Python Flask重定向和错误处理
- Python Flask邮件扩展进阶开发
- Python Flask如何使用Request对象()