Flask web开发之路二
今天创建第一个flask项目,主app文件代码如下:
# 从flask这个框架导入Flask这个类
from flask import Flask
#初始化一个Flask对象
# Flasks()
# 需要传递一个参数__name__
# 1. 方便flask框架去寻找资源
# 2. 方便flask插件比如Flask-Sqlalchemy出现错误的时候,好去寻找问题所在的位置
app = Flask(__name__) # @app.route是一个装饰器
# @开头,并且在函数的的上面,说明是装饰器,这个装饰器的作用,是做一个url与视图的映射
# 127.0.0.1:5000/ -> 去请求hello_world这个函数,然后将结果返回给浏览器
@app.route('/')
def hello_world():
return 'Hello World!' # 如果当前这个文件是作为入口程序运行,那么就运行app.run()
if __name__ == '__main__':
# app.run()
# 启动一个应用服务器,来接受用户的请求
# while True:
# listen()
app.run()
需要注意的地方:
### 第一个flask程序讲解:
1.第一次创建项目时,要添加flask的虚拟环境。添加虚拟环境的时候,一定要选择到python这个执行文件,比如我计算机里的路径是D:\Postgraduate\Python\Virtualenv\flask-env\Scripts\python.exe
### 设置debug模式
1.在app.run()中传入一个关键字参数debug,app.run(debug=True),就设置当前项目为debug模式
2.debug模式的两大功能:
*当程序出现问题的时候,就可以在页面中看到错误信息和出错的位置
*只要修改了项目中的'python'文件,程序会自动加载,不需要手动重启
### 使用配置文件
1.新建一个'config.py'文件
2.在主app文件中导入这个文件,并且添加配置到'app'中,示例代码如下:
'''
import config
app.config.from_object(config)
'''
3.还有许多其他的参数,都是放在这个配置文件中,比如'SECRET_KEY'和'SQLALCHEMY'
这个时候项目目录如下:
主app文件debug_model.py代码如下:
from flask import Flask
import config app = Flask(__name__)
app.config.from_object(config) @app.route('/')
def hello_world():
return '我是' if __name__ == '__main__':
app.run()
配置文件config.py代码如下:
DEBUG = True
开启项目
如果不设置debug模式,是不会有Debugger出现的
Flask web开发之路二的更多相关文章
- Flask web开发之路十二
ge请求和post请求 ### get请求和post请求:1. get请求: * 使用场景:如果只对服务器获取数据,并没有对服务器产生任何影响,那么这时候使用get请求. * 传参:get请求传参是放 ...
- Flask web开发之路九
flask_scripts介绍 项目结构如下: flask_script_demo.py文件: from flask import Flask app = Flask(__name__) @app.r ...
- Flask web开发之路一
之前学过一段时间的flask,感觉还是挺好用的,自己的专利挖掘项目也想这个web框架来搭建,于是重新开始基础学习 环境:win10,python3.6,pycharm2017,虚拟环境virtuale ...
- Flask web开发之路十四
今天开始Flask的实战,创建一个项目,实现包括用户登录.注册.注销.发表博客.评论以及检索等功能 首先给出项目结构: 1.config.py文件: 存放各种配置信息 import os # dial ...
- Flask web开发之路十三
g对象 ### 保存全局变量的g属性:g:global1. g对象是专门用来保存用户的数据的.2. g对象在一次请求中的所有的代码的地方,都是可以使用的. 项目结构: g_demo.py文件代码: f ...
- Flask web开发之路十一
首先写一下cookie和session的概念,然后是Flask中session的工作机制以及操作session ### cookie: 1. `cookie`出现的原因:在网站中,http请求是无状态 ...
- Flask web开发之路十
首先介绍循环引用的问题: 当一个模块需要引用另一个模块的类,而另一个模块又需要引用这个模块的类时,就出现了循环引用,而没法导入类,这时候可以切断其中一条引用路径,增加一个模块 项目结构: models ...
- Flask web开发之路八
今天写Flask_SQLAlchemy的外键及其关系 ### Flask-SQLAlchemy外键及其关系: 主app文件代码: from flask import Flask from flask_ ...
- Flask web开发之路七
今天写SQLAlchemy数据库 首先介绍ORM的概念: ORM,Object类,Relationship:关系,Mapping:映射,也就是模型关系映射 flask-sqlalchemy是一套ORM ...
随机推荐
- Web缓存知识体系
转载自[运维社区]https://www.unixhot.com/page/cache
- task_payment_byonlinedown
CREATE DEFINER=`root`@`%` PROCEDURE `vir`.`task_payment_byonlinedown`()begin declare _mobile varchar ...
- SVN命令行更新代码
命令列表 svn help查看帮助信息 Available subcommands: add auth blame (praise, annotate, ann) cat changelist (cl ...
- SQL Server为字段添加默认值
SQL Server为字段添加默认值 if not exists ( select * from sys.columns as c join sys.objects as o on c.default ...
- 基于SIFT特征的全景图像拼接
基于SIFT特征的全景图像拼接 分类: image Machine learning2013-07-05 13:33 2554人阅读 评论(3) 收藏 举报 基于SIFT特征的全景图像拼接 分类: 计 ...
- sqlserver修改主键为自增
使用PowerDesigner创建一张表, 拷贝建表语句发现ID不是自增的, 以下是修改语句: ALTER TABLE USER_JOB_EXE_REC DROP COLUMN id; , ); 注: ...
- 自动化测试中CSS SELECTOR选择器的一些写法
常见符号: #表示id .表示class >表示子元素,层级 一个空格也表示子元素,但是是所有的后代子元素,相当于xpath中的相对路径 #input 选择id为input的节点 .Volvo ...
- MySQL保存历史执行语句
MySQL想查看历史执行语句,不能像linux那样通过命令查看 只能将每条执行语句保存到LOG里面,然后通过LOG文件再查找 修改my.cnf配置文件 [mysqld] 字段部分,定义LOG名字为ex ...
- linux每日命令(10):touch命令
linux的touch命令一般用来修改文件时间戳,或者新建一个不存在的文件. 一.命令格式: touch [参数]... 文件... 二.命令参数: 参数 描述 -a 或--time=atime或-- ...
- golang:mime.Decode、mime.DecodeHeader
最近在做邮件解析的相关工作,在使用mime.Decode/mime.DecodeHeader时有些疑问. 有些搞不懂mime.Encode和mime.EncodeHeader的区别.