Day 01

最近项目里要用python写后端,同学推荐了flask框架就来学一学。写这个博客的目的主要是记录一下自己学习的内容,有基础知识忘了不用一个个去百度,还有就是跟大家分享一下,有不是很容易理解的地方可以评论留言,学新东西就是这样,学会的觉得不说也能理解,但刚接触的人就完全没这种感觉。这里IDE不是很推荐用社区版,因为专业版可以直接选择新建flask项目,自动生成基础的项目框架(虽然影响也不是很大)。

过年在家学习效率真是低,废话说了一大堆,还是记点学习内容,顺带祝大家新年快乐。

开启debug的四种模式

  1. app.run(debug=True)

  2. app.debug=True

  3. app.config.update(DEBUG=True)

  4. 使用配置文件的两种方法: (需要新建一个config.py文件)

    1.使用import导入后,使用app.config.from_object( config )

    2.app.config.from_pyfile('file_name',silent=False),无需import,文件格式可以是.py,也可以是.txt等,silent=False时若文件不存在会报错

传递参数

@app.route('/path/<type:arg>/')
#type:int,float,string,path,uuid,any...
def fun(arg):
pass

每个app.route代表一个视图,若有变量需要放在<>里,变量可以通过 “类型:变量名” 显式指定类型

string类型只能接受不含 \ / 的字符串

path可以接受包含 \ / 的字符串

any可以指定多种路径

#example for any:
@app.route('/<any(blog,user):url_path>/<id>')
#../blog/1
#../user/1
#都可以访问
def fun(url_path,id):
if url_path == 'blog':
return 'blog detail'
else:
return 'user detail'

如果有不确定的参数,可以通过问号传递参数。多个参数间使用 & 符号连接。

#../d/?wd=...
@app.route('/d/')
def fun():
arg = request.args.get('arg_name')
return '你查找的参数是 %s' %arg

url_for():

url_for函数是一个非常常用的函数,它的功能是返回一个视图对应的path。

使用方法为: url_for('endpoint',**value=),注意,这里endpoint对应的是视图函数的函数名,不要看名字理解成路径的结束标志,比如想返回上一个‘/d/’的路径,endpoint对应的是'fun'而不是'd'

它的好处是,在endpoint对应的path发生更改时可以不用逐一 查找更改

#example
@app.route('/page/<string:pg>')
def page(pg):
return pg
@app.route('/')
def home_page():
return 'URL for page1 is '+url_for('page',pg='page1')

Flsak学习笔记(1)的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. H3C使用tracert命令--用户视图

    <H3C>tracert ?                                                                     -a       指明 ...

  2. vue-learning:40 - Vuex - 第一篇:概念和基本使用

    vuex 第一篇 目录 vuex概念 state / mapState getter / mapGetter mutation / mapMutation action / mapAction mod ...

  3. Activiti工作流引擎学习(一)

    1.部署对象和流程定义相关表:RepositoryService act_re_deployment: 部署对象表:一次部署的多个文件的信息,对于不需要的流程可以删除和修改 act_re_procde ...

  4. windows编译caffe2遇到的问题

    首先介绍下window编译caffe2整体流程: 说明:如果不需要python支持只需3.4即可,而且编译亦不会出现问题. 1. 安装python2.7,. 我使用的是anaconda python2 ...

  5. Delta Lake源码分析

    目录 Delta Lake源码分析 Delta Lake元数据 snapshot生成 日志提交 冲突检测(并发控制) delete update merge Delta Lake源码分析 Delta ...

  6. linux之旅首页

    为什么有此系列文章 目录 为什么有此系列文章 一直使用windows,决定使用linux作为操作系统. 使用此系列文章来记录我使用linux过程中遇到的问题,和应对方式 目录 安装linux

  7. dotnet 如何调试某个文件是哪个代码创建

    我发现了自己的软件,会在桌面创建一个 1.txt 文件,但是我不知道是哪个代码创建的,那么如何进行快速的调试找到是哪个代码创建的 最简单的方法是使用 VisualStudio 全局搜 1.txt 看是 ...

  8. 【20.51%】【codeforces 610D】Vika and Segments

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  9. mybatis的核心配置文件

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC &q ...

  10. python3中map函数

    map函数是Python里面比较重要的函数 map函数后面必须接的是序列(元组/列表/字符串) 在python2中执行一些语句 >>> map(str,[1,2,3,4]) ['1' ...