参考地址: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. 说几个 zookeeper 常用的命令?

    常用命令:ls get set create delete 等.

  2. Java 有没有 goto?

    goto 是 Java 中的保留字,在目前版本的 Java 中没有使用.(根据 James Gosling (Java 之父)编写的<The Java Programming Language& ...

  3. IIS在ASP.NET Core下的两种部署模式

    KestrelServer最大的优势体现在它的跨平台的能力,如果ASP.NET CORE应用只需要部署在Windows环境下,IIS也是不错的选择.ASP.NET CORE应用针对IIS具有两种部署模 ...

  4. 03. Pandas数据结构

    03. Pandas数据结构 Series DataFrame 从DataFrame中查询出Series 1. Series Series是一种类似于一维数组的对象,它由一组数据(不同数据类型)以及一 ...

  5. 创建axios拦截器

    上一篇说axios并发的时候有提到 axios的请求统一管理是为了创建拦截器 具体说一下拦截器的创建 import Vue from 'vue'; import axios from 'axios'; ...

  6. 学习HTML5 history API

    html5 在 history 对象上添加几个新的方法.事件.属性,用以增强开发者对于浏览器历史记录的控制.大体上说,新的API可以帮助我们在无刷新的情况下改变浏览器的url,新增或者替换之前的历史记 ...

  7. PAT B1024科学计数法

    科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指 ...

  8. 关于javaweb学习终点的一些感悟

    学习完javaweb后,自己做了一套管理项目,使用了mybatis,themeleaf和servlet.大致明白了servlet的真实应用场景. 说白了servlet就是用来指定浏览器url后面输入了 ...

  9. LC-454

    题目 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < ...

  10. git远程建立仓库后,将本地项目推到远程报错 fatal: refusing to merge unrelated histories

    出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库,假如之前是直接clone的方式在本地仓库就不会有这个问题了. 解决方式是在命令后紧跟 --allow-unrelated-hi ...