flask框架(二)——flask4剑客、flask配置文件的4种方式
之前学习的Django有必备三板斧:render,HttpResponse,redirect,JsonResponse
在flask也有,但是有些不同
一、Flask4剑客
1.直接返回字符串(return 后面加字符串)
from flask import Flask
app=Flask(__name__) @app.route('/')
def index():
#直接返回字符串
return "ok" #页面返回ok if __name__ == '__main__':
app.run()
2.返回html页面,渲染页面(render_template)
from flask import Flask,render_template
app=Flask(__name__) @app.route('/')
def index():
#返回,渲染html
name_dict={"name":"jason-gdx"}
return render_template("index.html",name="jasongdx",name_dict=name_dict) #返回index.html对应数据 if __name__ == '__main__':
app.run()
注意:render_template()会去flask根目录下的templates里面寻找文件,所以给的参数路径时相对路径。
3.跳转页面(redirect)
from flask import Flask,redirect
app=Flask(__name__) @app.route('/')
def index():
#跳转页面
return redirect("/login") if __name__ == '__main__':
app.run()
4.返回json数据(jsonify)
from flask import Flask,jsonify
app=Flask(__name__) @app.route('/')
def index():
#返回json数据
name_dict = [{'name': "jason-gdx"},{'name': "tank-sb"}]
return jsonify(name_dict) if __name__ == '__main__':
app.run()
二、flask配置文件的4种方式
from flask import Flask
app=Flask(__name__)
#第一种,这种方式只能配置两种(debug,secret_key)
app.debug=True
app.secret_key=""
#第二种,以字典的形式
app.config['DEBUG']=True
#第三种,以文件的形式
app.config.from_pyfile("settings.py") #第四种以类的形式(推荐)
app.config.from_object('settings.DevelopmentConfig') @app.route('/login')
def login():
print(123)
return "ojbk_login" if __name__ == '__main__':
app.run()
settings.py
class Config(object):
DEBUG = False
TESTING = False
DATABASE_URI = 'sqlite://:memory:' class ProductionConfig(Config):
DATABASE_URI = 'mysql://user@localhost/foo' class DevelopmentConfig(Config):
DEBUG = True class TestingConfig(Config):
TESTING = True
flask中的配置文件是一个flask.config.Config对象(继承字典),默认配置为:
{
'DEBUG': get_debug_flag(default=False), 是否开启Debug模式
'TESTING': False, 是否开启测试模式
'PROPAGATE_EXCEPTIONS': None,
'PRESERVE_CONTEXT_ON_EXCEPTION': None,
'SECRET_KEY': None,
'PERMANENT_SESSION_LIFETIME': timedelta(days=31),
'USE_X_SENDFILE': False,
'LOGGER_NAME': None,
'LOGGER_HANDLER_POLICY': 'always',
'SERVER_NAME': None,
'APPLICATION_ROOT': None,
'SESSION_COOKIE_NAME': 'session',
'SESSION_COOKIE_DOMAIN': None,
'SESSION_COOKIE_PATH': None,
'SESSION_COOKIE_HTTPONLY': True,
'SESSION_COOKIE_SECURE': False,
'SESSION_REFRESH_EACH_REQUEST': True,
'MAX_CONTENT_LENGTH': None,
'SEND_FILE_MAX_AGE_DEFAULT': timedelta(hours=12),
'TRAP_BAD_REQUEST_ERRORS': False,
'TRAP_HTTP_EXCEPTIONS': False,
'EXPLAIN_TEMPLATE_LOADING': False,
'PREFERRED_URL_SCHEME': 'http',
'JSON_AS_ASCII': True,
'JSON_SORT_KEYS': True,
'JSONIFY_PRETTYPRINT_REGULAR': True,
'JSONIFY_MIMETYPE': 'application/json',
'TEMPLATES_AUTO_RELOAD': None,
}
flask框架(二)——flask4剑客、flask配置文件的4种方式的更多相关文章
- flask框架----设置配置文件的几种方式
设置配置文件的几种方式 ==========方式一:============ app.config['SESSION_COOKIE_NAME'] = 'session_lvning' #这种方式要把所 ...
- flask框架--设置配置文件的几种方式 与Flask两种配置路由的方式
设置配置文件的几种方式 ==========方式一:============ app.config['SESSION_COOKIE_NAME'] = 'session_lvning' #这种方式要把所 ...
- Flask框架(一)—— Flask简介
Flask框架(一)—— Flask简介 目录 Flask框架介绍 一.Flask简介 二.flask安装与使用 1.安装 2.使用 3.简单案例——flask实现用户登录 Flask框架介绍 一.F ...
- Spring Boot 入门系列(二十五)读取配置文件的几种方式详解!
在项目开发中经常会用到配置文件,之前介绍过Spring Boot 资源文件属性配置的方法,但是很多朋友反馈说介绍的不够详细全面.所以, 今天完整的分享Spring Boot读取配置文件的几种方式! S ...
- Java命令行启动jar包更改默认端口以及配置文件的几种方式
Java命令行启动jar包更改默认端口以及配置文件的几种方式 java -jar xxx.jar --server.port=8081 默认如果jar包没有启动文件,可以采用这种方式进行启动 java ...
- Python之Flask框架二
今天接着上一篇继续写一篇关于flask的随笔. 本文大纲: 1.获取请求参数 2.一个函数处理多个请求方式 3.重定向 4.错误响应 5.全局错误处理 6.返回json格式数据 7.自定义返回内容状态 ...
- python web开发之flask框架学习(1) 创建flask项目
python 开发越来越火,作为菜鸟,也应该学习一下,感觉还可以,记录下来,方便学习参考. 不管做什么开发首先肯定是安装环境,这里我用的是pycharm,python3.如果不清楚怎么安装环境可以去网 ...
- spring-boot-route(二)读取配置文件的几种方式
Spring Boot提供了两种格式的配置文件,分别是properties 和 yml.Spring Boot最大的特点就是自动化配置,如果我们想修改自动化配置的默认值,就可以通过配置文件来指定自己服 ...
- Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式
我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有 ...
随机推荐
- 【转载】Visual Studio(VS) F12 查看DLL源代码
https://www.cnblogs.com/zhaoqingqing/p/6751757.html esharper官网:https://www.jetbrains.com/resharper/ ...
- virtualenvwrapper 方便的virtualenv 包装
virtualenvwrapper 是一个方便的virtualenv 包装我们可以用来方便的管理python 的开发环境,同时 也支持对于项目的管理 安装 pip 安装 pip install v ...
- zabbix显示 get value from agent failed:cannot connetct to xxxx:10050:[4] interrupted system call
在阿里云上部署的两台云主机,从server上 agent.ping不通agent10050端口,在agent上使用firewalld-cmd 添加了10050端口还不行,关闭了防火墙和selinux也 ...
- 原创:自定义spark GraphX中的collectNeighborIds方法
/** * 自定义收集VertexId的neighborIds * @author TongXueQiang */def collectNeighborIds[T,U](edgeDirection:E ...
- js如何将汉字转化为拼音
github地址,上面有封装好的转换工具:https://github.com/sxei/pinyinjs 里面有几个库,根据功能,库的文件大小也不一样,可以根据需求去引入使用. 里面封装好了方法: ...
- leetcode题目讲解(Python):字符串转整数 (atoi)
分析这道题,输入数据有如下几种情况: 第一类:输入字符串无法转换为整数 这一类包含以下几种情况: 输入字符串为空 开头字符为数字.符号(+,-).空格以外的字符 有多个加减符号的字符串 符号没有紧跟数 ...
- 微信小程序 Flex局部元素被挤压问题
关于Flex布局不在此处赘述,需要了解的可以查阅官方文档:基本的布局方法——Flex布局 当使用Flex布局,想实现如下图1的效果时,代码编写如下: 图1: <!-- wxml文件 --> ...
- ICEM-带柱底座
原视频下载地址:https://pan.baidu.com/s/1c2KgCBA 密码: ixk8
- idea的maven工程中修改pom会改变项目jdk版本
解决办法 方案一 //pom中配置maven插件时候 <plugins> <!--jdk编译插件--> <plugin> <groupId>org.ap ...
- git,指南,操作
助你开始使用 git 的简易指南,木有高深内容,;). Tweet 作者:罗杰·杜德勒 感谢:@tfnico, @fhd and Namics其他语言 english, deutsch, españo ...