Flask:项目的准备工作
1、创建虚拟环境
(1)打开Windows命令窗口,输入命令(先确保电脑上安装了Anaconda):
conda create -n FlaskPath python=3.5.2
FlaskPath为虚拟环境的名字,3.5.2是python的版本
(2)激活虚拟环境,命令:
activate FlaskPath
为什么使用虚拟环境?
在实际项目开发中,我们会根据自己的需求去下载各种各样的框架库,如Django、Flask、Scrapy等;但是每个项目使用的框架库不一样,或使用的框架版本不一样,这样我们就会根据自己的需求去不断的下载和卸载相应的库,直接对我们的python开发环境进行操作会造成很多不必要的麻烦,管理也相当混乱,因此就用到了虚拟环境来解决这样的问题。
虚拟环境是一个虚拟化的,从电脑独立开辟出来的环境。通俗来讲,虚拟环境就是借助虚拟机Docker来把一部分内容独立出来,我们把这个独立出来的东西称为“容器”,在这个容器中,我们只安装项目需要用到的依赖包,各个容器间互不影响,相互隔离。
2、安装Flask框架
在虚拟环境中输入命令:
pip install flask==1.1.1
这里的1.1.1指的是Flask的版本号,在执行上述命令的时候,我们安装了以下五个依赖包

3、Django、Flask和Tornado的比较
(1)Django的特点
优点:
- 功能完善,要素齐全,自带大量常用工具和框架,适合快速开发企业级网站;
- 完善的文档,经过十多年的发展,Django有广泛的实践案例和完善的在线文档,开发者在遇到问题时可以搜索在线文档寻求解决方案;
- 拥有强大的数据库访问组件,Django的Model层自带数据库ORM组件,使得开发者无需使用sql语句就可以对数据库进行操作;
- 自带后台管理系统admin,只需要几行简单的配置和代码就可以实现一个完整的后台管理控制平台;
- DeBug信息详尽,方便开发者快速的找到错误所在。
缺点:
- 大包大揽,对于一些轻量级的web应用不需要的功能在django中也包括了;
- 过度封装,很多类和方法在django中都封装了,直接使用更为简单,但改动起来比较困难;
- 性能劣势,与C、C++性能上相比,Django的性能偏低,当然这是python的锅,其它基于python的web框架在流量上来后也会棉铃同样的问题;
- 模板问题,Django的模板实现了代码和样式的完全分离,不允许模板里出现python代码,灵活度对某些程序员来说可能不够。
分析:
Django提供的方便,也意味着Django内置的ORM与框架内的其他木块耦合程度高,应用程序必须使用Django内置的ORM,否则就不能使用框架内基于其ORM提供的种种便利;理论上可以切换掉其ORM,但这就相当于把装修好的房子拆除后重新装修,倒不如一开始就去毛坯房做全新的装修。Django的卖点是它超高的开发效率,其性能扩展性有限
(2)Flask的特点
- Flask自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的python库;
- 非常适合于开发小型网站,非常适合于开发web服务的API;
- 开发大型网站无压力,但是代码架构需要自己设计,开发成本取决于开发者的能力和经验;
- Django自带的或第三方的好评如潮的功能,在Flask总能找到与之类似的第三方库;
- Flask与关系型数据库的配合使用不弱于Django,而其与nosql数据库的配合远远优于Django。
(3)Tornado的特点
优点:
轻量、异步非阻塞IO处理方式,出色的抗负载能力,协程带来优益的处理性能
缺点:
没有ORM,提供的支持和模板少,缺少后台支持,对于小型项目来说开发速度没有Django快
分析:
Tornado所谓的缺点是由它的设计理念所决定的,设计上就决定它是一个小而精的http服务器+轻量级web框架,高并发处理才是它真正擅长的
Flask:项目的准备工作的更多相关文章
- Flask:第一个Flask项目
在上一篇文章:Flask:项目的准备工作中,我写了flask项目的准备工作,不清楚创建flask项目需要做哪些准备的朋友可以点击链接看看 1.最简单的Flask项目 代码: from flask im ...
- [转]基于Starling移动项目开发准备工作
最近自己趁业余时间做的flash小游戏已经开发得差不多了,准备再完善下ui及数值后,投放到国外flash游戏站.期间也萌生想法,想把游戏拓展到手机平台.这两天尝试了下,除去要接入ane接口的工作,小游 ...
- flask 项目的开发经验总结
已经开发了几个flask项目, 是时候总结一下了, 这里涉及到项目源码的组织, 常用的包, 源码示例. =========================需要的 python 包有:========= ...
- Python框架 Flask 项目实战教程
本文目的是为了完成一个项目用到的flask基本知识,例子会逐渐加深.最好对着源码,一步一步走.下载源码,运行pip install -r requirements.txt 建立环境python db_ ...
- 通过VM虚拟机安装Ubuntu server部署flask项目
1. VM安装Ubuntu server 14.04,系统安装完成后,首先安装pip工具方便之后的包安装,此处需先使用 apt-get install update,apt-get install u ...
- flask项目开发中,遇到http 413错误
在flask项目中,上传文件时后台报http 413 Request Entity Too Large 请求体太大错误! 解决的2种方法: 1.在flask配置中设置 MAX_CONTENT_LENG ...
- flask项目部署到阿里云 ubuntu16.04
title: flask项目部署到阿里云 ubuntu16.04 date: 2018.3.6 项目地址: 我的博客 部署思路参考: Flask Web开发>的个人部署版本,包含学习笔记. 开始 ...
- 部署Flask项目到腾讯云服务器CentOS7
部署Flask项目到腾讯云服务器CentOS7 安装git yum install git 安装依赖包 支持SSL传输协议 解压功能 C语言解析XML文档的 安装gdbm数据库 实现自动补全功能 sq ...
- pycharm创建Flask项目,jinja自动补全,flask智能提示
pycharm创建Flask项目,jinja自动补全,flask智能提示 之前一直都是用在idea里创建空项目然后导入,之后就没有各种的智能提示,在选择文类,选择模板之类的地方就会很麻烦. 步骤1:用 ...
- flask 项目基本框架的搭建
综合案例:学生成绩管理项目搭建 一 新建项目目录students,并创建虚拟环境 mkvirtualenv students 二 安装开发中使用的依赖模块 pip install flask==0.1 ...
随机推荐
- postman工具使用小结
序言 现在,postman在做接口测试方面,发挥着越来越重大的作用,其支持多种请求方式.并可以模拟各种类型的数据请求类型,在实际开发中使用它可以极大的提高开发的效率. 安装postman 1. 安装 ...
- linux 装composer的出现的问题
curl -sS https://getcomposer.org/installer | php php 值得是php的liux下的安装目录 php环境变量 当装compser 的时候,出现 ...
- Python内置函数之enumerate() 函数
enumerate() 函数属于python的内置函数之一: python内置函数参考文档:python内置函数 转载自enumerate参考文档:python-enumerate() 函数 描述 e ...
- 利用双重检查锁定和CAS算法:解决并发下数据库的一致性问题
背景 最近有一个场景遇到了数据库的并发问题.现在先由我来抽象一下,去掉不必要的繁杂业务. 数据库表book存储着每本书的阅读量,一开始数据库是空的,不存在任何的数据.当用户访问接口的时候,判断 ...
- 终端 10X 工作法(一)
目录 1. Terminal 2. Grep 3. Sed 4. Awk 5. Xargs 6. Find 在 github 上面有一个 700 多人 star 的 repo 叫做 Bash-Onel ...
- maven在线自动更新太慢怎么办?
使用IDEA和Eclipse开发maven项目时,maven在添加一项新的依赖时,如果发现本地仓库没有,就会向位于国外服务器的中央仓库下载.如果所处网络没有翻墙,下载速度会慢到你想原地爆炸. 这个时候 ...
- django-搭建BBS关键点总结
0826自我总结 django-搭建BBS关键点总结 一.关于开口子,直接输入url访问文件内容 django自带开了个口子是static文件可以直接访问到 手动开口子 urs.py from dja ...
- PHP 哈夫曼的实现
<?php namespace Test; use Iterator; use ArrayAccess; use Exception; // 叶子结点或者连接结点的基类 class Huffma ...
- CDN实现原理
避让:尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定. 检测:通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时监 ...
- JavaScript正则表达式之语法
Regular Expressions翻译成中文叫正则表达式.也不知道是谁翻译过来的,听起来就很严肃.似乎翻译成通用表达式更能传达其精髓. 为什么叫通用表达式?因为它有一套和编程语言无关的文本匹配规则 ...