参考地址:https://github.com/miguelgrinberg/microblog/tree/v0.1

flask环境【苹果M1】

添加虚拟环境

python3 -m venv venv

使用这个命令来让Python运行 venv 包,它会创建一个名为 venv 的虚拟环境,虚拟环境名称为venv,我习惯在项目目录中创建了名为 venv 的虚拟环境,所以无论何时 cd 到一个项目中,都会找到相应的虚拟环境。

不管你用什么方法创建虚拟环境,创建完毕之后还需要激活才能够进入这个虚拟环境。 要激活你的全新虚拟环境,需使用以下命令:

source venv/bin/activate

激活一个虚拟环境,终端会话的环境配置就会被修改(前面会有小括号,虚拟环境名称),之后你键入 python 的时候,实际上是调用的虚拟环境中的Python解释器。

此外,终端提示符也被修改成包含被激活的虚拟环境的名称的格式。

这种激活是临时的和私有的,因此在关闭终端窗口时它们将不会保留,也不会影响其他的会话。

那么,当你需要同时打开多个终端窗口来调试不同的应用时,每个终端窗口都可以激活不同的虚拟环境而不会相互影响。

成功创建和激活了虚拟环境之后,你可以安装Flask了,命令如下:

pip3 install flask

之前已经下载过flask了,提示Requirement already satisfied。正常情况下是successfull.

flask应用

项目结构如图

python文件夹下有__init__.py,就是一个python包,可以被import导包。 app 包由app目录和 init.py 脚本来定义构成,并在 from app import routes 语句中被引用。

在Flask中,应用程序路由的处理逻辑被编写为Python函数,称为视图函数。 视图函数被映射到一个或多个路由URL,以便Flask知道当客户端请求给定的URL时执行什么逻辑。

app/routes.py中的第一个视图函数的代码:

from app import app

@app.route('/')
@app.route('/index')
def index():
return 'Hello Worold! index ...lalala'

两个装饰器,它们将URL / 和 /index 索引关联到这个函数。 这意味着,当Web浏览器请求这两个URL中的任何一个时,Flask将调用该函数并将其返回值作为响应传递回浏览器。

Flask应用程序实例被称为 app ,是 app 包的成员。 from app import app 语句从 app 包导入其成员 app 变量。

启动文件flaskProject.py只有一行代码,文件名也有叫app.py 的也有叫manager.py的

from app import app

在运行之前,需要通过设置FLASK_APP 环境变量告诉Flask如何导入它:

export FLASK_APP=flaskProject.py

提醒一下你,在终端会话中直接设置的环境变量不会永久生效,因此你不得不在每次新开终端时设定 FLASK_APP 环境变量,从 1.0 版本开始,Flask 允许你设置只会在运行 flask 命令时自动注册生效的环境变量,要实现这点,你需要安装

python-dotenv :

pip3 install python-dotenv

此时,在项目的根目录下新建一个名为 .flaskenv 的文件,其内容是:

FLASK_APP=microblog.py

通过此项设置, FLASK_APP 就可以自动加载了。

如果你钟爱手动设定环境变量,那也不错,只是记得每次启动终端后要设定它。命令为:

export FLASK_APP=flaskProject.py

配置了.flaskenv环境的运行效果如下:

Flask01 第一个flask项目的更多相关文章

  1. Flask:第一个Flask项目

    在上一篇文章:Flask:项目的准备工作中,我写了flask项目的准备工作,不清楚创建flask项目需要做哪些准备的朋友可以点击链接看看 1.最简单的Flask项目 代码: from flask im ...

  2. [傻瓜式一步到位] 阿里云服务器Centos上部署一个Flask项目

    网络上关于flask部署Centos的教程有挺多,不过也很杂乱. 在我第一次将flask上传到centos服务器中遇到了不少问题,也费了挺大的劲. 在参考了一些教程,并综合了几个教程之后才将flask ...

  3. 【Centos】【Python】【Flask】阿里云上部署一个 flask 项目

    1. 安装 python3 和 pip3 参考:http://www.cnblogs.com/mqxs/p/8692870.html 2.安装 lnmpa 集成开发环境 参考:http://www.c ...

  4. 创建第一个flask项目

    安装flask模块 pip install flask或conda install flask 创建一个run.py文件,文件内容如下: from flask import Flask app = F ...

  5. Python框架学习之用Flask创建一个简单项目

    在前面一篇讲了如何创建一个虚拟环境,今天这一篇就来说说如何创建一个简单的Flask项目.关于Flask的具体介绍就不详细叙述了,我们只要知道它非常简洁.灵活和扩展性强就够了.它不像Django那样集成 ...

  6. Python框架 Flask 项目实战教程

    本文目的是为了完成一个项目用到的flask基本知识,例子会逐渐加深.最好对着源码,一步一步走.下载源码,运行pip install -r requirements.txt 建立环境python db_ ...

  7. python2.7环境下的flask项目导入模块失败解决办法

    如下一个flask项目的目录: 这个flask项目在python3.6环境下可以正常启动,但是在python2.7环境下如下报错提示: 提醒模块找不到.如下解决方法: 只需要在views目录里面加一个 ...

  8. flask项目结构(三)使用蓝图

    简介: Flask中的蓝图旨在针对这些情况: 把一个应用分解成一系列的蓝图.对于大型的应用是理想化的:一个项目能实例化一个应用, 初始化一些扩展,以及注册一系列的蓝图. 以一个 URL 前缀和/或子域 ...

  9. flask项目结构(一)mariadb

    简介: 本文主要是根据自己所学,创建一个flask项目,使用sqlalchemy,alembic,mariadb,bootstrap,APScheduler,selenium,request…………技 ...

随机推荐

  1. 学习 Haproxy (六)

    HAProxy HAProxy是免费 高效 可靠的高可用及负载均衡解决方案,该软件非常适合于处理高负载站点的七层数据请求,HAProxy的工作模式使其可以非常容易且安全地集成到我们现有的站点架构中.使 ...

  2. 12_非线性理论基础_Lyapunov直接方法

  3. poj_1852_Ants(复杂问题简单化)

    原题传送门 描述 一群蚂蚁走在长度为l cm的水平细杆上,以1cm/s的匀速.当一只行走的蚂蚁到达杆的一端,它就会掉下去.当两只蚂蚁相遇,它们会掉头像反方向走去.我们知道一只蚂蚁在杆上的初始位置,然而 ...

  4. CSS3渐变效果工具

    推荐一个css3渐变效果工具,觉得有帮助的可以收藏下. 工具链接 CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡.CSS3 定义了两种类型的渐变(gradient ...

  5. spark配置双master时一直处于standby的情况

    一.情况描述 按照如下配置,使用zookeeper监听 SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspa ...

  6. Hive进行数据统计时报错:org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Error starting MRAppMaster

    报错详情: 2020-04-09 22:56:58,827 ERROR [Listener at 0.0.0.0/45871] org.apache.hadoop.mapreduce.v2.app.M ...

  7. myEclipse开发内存溢出解决办法myEclipse调整jvm内存大小 java.lang.OutOfMemoryError: PermGen space及其解决方法

    Window->Preferences->MyEclipse->Servers->Tomcat x.x->JDK->Optional Java VM argumen ...

  8. 多条命令同时执行的包concurrently

    npm i concurrently use "script":{ "client:build": "webpack --config build/w ...

  9. DOCTYPE(⽂档类型) 的作⽤

    DOCTYPE是HTML5中一种标准通用标记语言的文档类型声明,它的目的是告诉浏览器(解析器)应该以什么样(html或xhtml)的文档类型定义来解析文档,不同的渲染模式会影响浏览器对 CSS 代码甚 ...

  10. redis的基础命令操作

    文章目录 前言 一.字符串类型 二.哈希类型 三.列表类型 四.集合类型 五.有序集合类型 六.通过命令 前言 redis的数据结构 redis存储的是key,value格式的数据,其中的key是字符 ...