Flask01 第一个flask项目
参考地址: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项目的更多相关文章
- Flask:第一个Flask项目
在上一篇文章:Flask:项目的准备工作中,我写了flask项目的准备工作,不清楚创建flask项目需要做哪些准备的朋友可以点击链接看看 1.最简单的Flask项目 代码: from flask im ...
- [傻瓜式一步到位] 阿里云服务器Centos上部署一个Flask项目
网络上关于flask部署Centos的教程有挺多,不过也很杂乱. 在我第一次将flask上传到centos服务器中遇到了不少问题,也费了挺大的劲. 在参考了一些教程,并综合了几个教程之后才将flask ...
- 【Centos】【Python】【Flask】阿里云上部署一个 flask 项目
1. 安装 python3 和 pip3 参考:http://www.cnblogs.com/mqxs/p/8692870.html 2.安装 lnmpa 集成开发环境 参考:http://www.c ...
- 创建第一个flask项目
安装flask模块 pip install flask或conda install flask 创建一个run.py文件,文件内容如下: from flask import Flask app = F ...
- Python框架学习之用Flask创建一个简单项目
在前面一篇讲了如何创建一个虚拟环境,今天这一篇就来说说如何创建一个简单的Flask项目.关于Flask的具体介绍就不详细叙述了,我们只要知道它非常简洁.灵活和扩展性强就够了.它不像Django那样集成 ...
- Python框架 Flask 项目实战教程
本文目的是为了完成一个项目用到的flask基本知识,例子会逐渐加深.最好对着源码,一步一步走.下载源码,运行pip install -r requirements.txt 建立环境python db_ ...
- python2.7环境下的flask项目导入模块失败解决办法
如下一个flask项目的目录: 这个flask项目在python3.6环境下可以正常启动,但是在python2.7环境下如下报错提示: 提醒模块找不到.如下解决方法: 只需要在views目录里面加一个 ...
- flask项目结构(三)使用蓝图
简介: Flask中的蓝图旨在针对这些情况: 把一个应用分解成一系列的蓝图.对于大型的应用是理想化的:一个项目能实例化一个应用, 初始化一些扩展,以及注册一系列的蓝图. 以一个 URL 前缀和/或子域 ...
- flask项目结构(一)mariadb
简介: 本文主要是根据自己所学,创建一个flask项目,使用sqlalchemy,alembic,mariadb,bootstrap,APScheduler,selenium,request…………技 ...
随机推荐
- vue2与vue3的区别
template <template> <div class="wrap"> <div>{{ num }}</div> <Bu ...
- Creating a File Mapping Object
创建一个文件映射对象 映射一个文件的第一步是通过调用CreateFile函数来打开一个文件.为了确保其他的进程不能对文件已经被映射的那一部分进行写操作,你应该以唯一访问(exclusive acces ...
- 手把手教你撸个vue2.0弹窗组件
手把手教你撸个vue2.0弹窗组件 在开始之前需要了解一下开发vue插件的前置知识,推荐先看一下vue官网的插件介绍 预览地址 http://haogewudi.me/kiko/inde... 源码地 ...
- 记一个ios滚动穿透问题
直接上代码 <body style="overflow: hidden;-webkit-overflow-scrolling: touch;"> <div id= ...
- 【Android开发】通过 style 设置状态栏,导航栏等的颜色
<style name="test"> <!--状态栏颜色--> <item name="colorPrimaryDark"> ...
- java中 什么叫隐藏(Hide)? 最好给个例子
4.隐藏 技术核心和实例前面已经给出,这里只是给出大家对这种现象的一个定义而已,马克-to-win:子类重新定义一个与父类那里继承来的域变量完全相同的变量,称为域的隐藏.这里所谓隐藏是指子类拥有了 ...
- springboot集成spring security安全框架入门篇
一. :spring security的简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下 ...
- Spring-aop注解开发(切点表达式的抽取)
接上一篇aop注解快速开发 @Component @Aspect //标注当前aspect是切面类 public class MyAspect { @Before("Pointcut()&q ...
- oracle system,sys用户 忘记密码,怎么修改密码
sys用户是Oracle中权限最高的用户,而system是一个用于数据库管理的用户.在数据库安装完之后,应立即修改sys,system这两个用户的密码,以保证数据库的安全.但是我们有时候会遗忘密码或者 ...
- JDK1.8.0_181的无限制强度加密策略文件变动(转载)
JDK1.8.0_181的无限制强度加密策略文件变动 原文地址 https://my.oschina.net/my1313677/blog/3109613 作者 葉者 日常记录 2019/09/23 ...