在这里先说一下最开始所经历的一些错误app=Flask(_name_),当初拼写的时候怎么都报错后来发现此处是两个'_'

配置文件

app.config.from_object(__name__)  在当前文件中查询配置项

app.config.from_envvar('FLASKR_SETTINGS', silent=True)    在文件中查询配置现,其中FLASKR_SETTINGS代表环境变量,silent=True代表Flask不关心该环境变量键值是否存在

@app.route('/')
def index():
    return 'This is index'
此处route修饰器把一个函数绑定到一个URL上,@app.route('hello'),这个意思就是http://127.0.0.1/hello

@app.route('/user<username>')

def show_user(username):

  return 'My name is %s'%username

此处route中<username>代表一个参数,在地址栏中输入http://127.0.0.1/user/Sky,网页则会返回My name is Sky

from flask import url_for

@app.route('/login')

def index():return '这是一个新的url'

print url_for('login')

此处url_for()来针对一个特定的函数构建一个 URL,在时运行则会print出所构造好的地址地址栏中输入http://127.0.0.1/login即可访问
为什么你要构建 URLs 而不是在模版中硬编码?这里有三个好的理由:
   1. 反向构建通常比硬编码更具备描述性。更重要的是,它允许你一次性修改 URL, 而不是到处找 URL 修改。
   2.构建 URL 能够显式地处理特殊字符和Unicode转义,因此你不必去处理这些。
   3.如果你的应用不在 URL 根目录下(比如,在 /myapplication 而不在 /),url_for()将会适当地替你处理好。

放置静态文件时给静态文件生成URL

url_for('static',filename='style.css')

这个文件是应该存储在文件系统上的static/style.css

渲染文件

from flask import render_template

@app.route('/hello/')

@app.route('/hello<name>')

def hello(name=None):

  return render_template('hello.html',name=name)

此处将会从templates处查找模版文件hello.html

请求对象

from flask import request

request.method==['GET','POST']

文件上传

在HTML表单中设置属性enctype="multipart/form-data",否则浏览器不会传送文件

from flask import request

@app.route('/upload',methods=['GET','POST'])

def upload_file():

  if request.method=='POST'

  f=request.files['file']

  f.save('/uploads'+secure_filename(f.filename))      因为客户端的名称可能会被伪造,所以永远不要相信,传递给secure_filename来打到效果

COOKIE操作

读取cookie:

  username=request.cookies.get('username')

存储cookie:

  from flask import make_response,render_template

  loadc=make_response(render_template())

  loadc.set_cookie('usernmae','the username')

重定向

错误重定向

如果出现出错的话可以定义一个装饰器

@app.errorhandler(404)    代表没有该文件

def page_not_found(error):

  return render_tamplater('**.html'),404      此处404是在render_tamplate调用,告诉Flask该页的错误代码是404

未完待续...

Python之Flask笔记的更多相关文章

  1. 【Python】Flask系列-URL和视图笔记

    1.学习目标 熟悉Flask相关知识. 熟悉web开发流程. 能独立开发Flask项目. 2.环境配置 Python虚拟环境安装 因为python的框架更新迭代太快了,有时候需要在电脑上存在一个框架的 ...

  2. Python Click 学习笔记(转)

    原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...

  3. Flask笔记1

    Flask笔记 首先明确一下,要运行一个动态网页,我们需要 一个 Web 服务器来监听并响应请求,如果请求的是静态文件它就直接将其返回,如果是动态 url 它就将请求转交给 Web 应用. 一个 We ...

  4. 使用python的Flask实现一个RESTful API服务器端[翻译]

    最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务 ...

  5. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  6. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  7. python 正则使用笔记

    python正则使用笔记 def remove_br(content): """去除两边换行符""" content = content.r ...

  8. python核心编程--笔记

    python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找pyt ...

  9. 使用python的Flask实现一个RESTful API服务器端

    使用python的Flask实现一个RESTful API服务器端 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文 ...

随机推荐

  1. go 开发中需要注意的与python的不同点

    从python转golang开发已经3个月了,因为写过c++,所以对golang接受的还算快,这段经历也不是很痛苦.伯乐在线上看了一些大神关于python转golang过程中的不适应和吐槽,决定写下篇 ...

  2. Android Handler、Message、MessageQueue和Looper官方说明

    Handler官方说明 官方API文档:https://developer.android.google.cn/reference/android/os/Handler Handler允许您发送和处理 ...

  3. Shell编程基础知识(一)

    一.基本的运行Linux程序的3种方法: (1) 使文件具有可执行权限,直接运行文件.eg:  chmod a+x testfile.sh   ./testfile.sh (2) 直接调用命令解释器来 ...

  4. June 6. 2018 Week 23rd Wednesday

    You are confined only by the walls you build yourself. 限制你的只有你自己筑起的墙. From Andrew Murphy. Let's repe ...

  5. March 01st, 2018 Week 9th Thursday

    Let bygones be bygones. 过去的就让它过去吧. What happened has happened, it cannot be undone, so just leave it ...

  6. #006 C语言大作业学生管理系统第三天

    还差最后两部分 读取文件 恢复删除的学生信息 先学会处理文件的 知识点,再继续跟着视频做这个作业. 应该明天周六能把视频里手把手教的学生管理系统敲完 第二周尽量自己能完成C语言课本最后面那道学生管理系 ...

  7. 常见C语言内存错误

    前言 C语言强大的原因之一在于几乎能掌控所有的细节,包括对内存的处理,什么时候使用内存,使用了多少内存,什么时候该释放内存,这都在程序员的掌控之中.而不像Java中,程序员是不需要花太多精力去处理垃圾 ...

  8. 加一的golang实现

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 输入: [,,] ...

  9. C#事件の事件聚合器

    事件聚合器用于集中管理事件的订阅(Subscribe)和处理(Handle),要使用事件聚合器,首先要理解:事件(event)本质上是一个类. 传统的+=和-=不足: 1.管理很麻烦:2.不方便扩展. ...

  10. 浅析SQLite的锁机制和WAL技术

    锁机制 SQLite基于锁来实现并发控制.SQLite的锁是粗粒度的,并不拥有PostgreSQL那样细粒度的行锁,这也使得SQLite较为轻量级.当一个连接要写数据库时,所有其它的连接都被锁住,直到 ...