Python之Flask笔记
在这里先说一下最开始所经历的一些错误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笔记的更多相关文章
- 【Python】Flask系列-URL和视图笔记
1.学习目标 熟悉Flask相关知识. 熟悉web开发流程. 能独立开发Flask项目. 2.环境配置 Python虚拟环境安装 因为python的框架更新迭代太快了,有时候需要在电脑上存在一个框架的 ...
- Python Click 学习笔记(转)
原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...
- Flask笔记1
Flask笔记 首先明确一下,要运行一个动态网页,我们需要 一个 Web 服务器来监听并响应请求,如果请求的是静态文件它就直接将其返回,如果是动态 url 它就将请求转交给 Web 应用. 一个 We ...
- 使用python的Flask实现一个RESTful API服务器端[翻译]
最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务 ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- 《简明python教程》笔记一
读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info 安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...
- python 正则使用笔记
python正则使用笔记 def remove_br(content): """去除两边换行符""" content = content.r ...
- python核心编程--笔记
python核心编程--笔记 的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找pyt ...
- 使用python的Flask实现一个RESTful API服务器端
使用python的Flask实现一个RESTful API服务器端 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文 ...
随机推荐
- Jmeter和Loadrunner的异同
1.jmeter的架构跟loadrunner原理一样,都是通过中间代理,监控&收集并发客户端发现的指令,把他们生成脚本,再发送到应用服务器,再监控服务器反馈的结果的一个过程. 2.分布式中间代 ...
- ctypes库调用dll的个人见解
最近着手开发一个小东西涉及到了API接口的知识点, 第一次使用到了ctypes库,在网上找了一大圈,基本都是讲add.dll之后就没了. 就像下面这个: from ctypes import * dl ...
- [20180810]exadata--豆腐渣系统的保护神.txt
[20180810]exadata--豆腐渣系统的保护神.txt --//最近一段时间,一直在看exdata方面的书籍,我个人的感觉exadata并非善长oltp系统,能通过OLTP获得好处的就算ex ...
- hive笔记:时间格式的统一
一.string类型,年月日部分包含的时间统一格式: 原数据格式(时间字段为string类型) 取数时间和格式的语法 2018-11-01 00:12:49.0 substr(regexp_repl ...
- c/c++ 用前序和中序,或者中序和后序,创建二叉树
c/c++ 用前序和中序,或者中序和后序,创建二叉树 用前序和中序创建二叉树 //用没有结束标记的char*, clr为前序,lcr为中序来创建树 //前序的第一个字符一定是root节点,然后去中序字 ...
- Windows Server 2016-Powershell管理站点复制
对于Active Directory的Windows PowerShell包括管理复制.网站.域和森林,域控制器以及分区的能力.例如Active Directory的站点和服务管理单元和repadmi ...
- 重启Zabbix Server
重启zabbix server:systemctl restart zabbix-server #启动服务 systemctl start zabbix-server systemctl start ...
- 关于svn上传.classpath等问题
1. svn版本:客户端版本与服务器版本 要尽量适配. 2. svn管理项目:有人将.classpath, .project, .mymetadata, .myumldata等文件也纳入到版本控制,如 ...
- 关于激活Windows10专业版2018长期服务版
之前重装了一次系统,偷懒用了小白一键重装,装好之后显示的是Windows10专业版2018长期服务版,当时也没想太多就放着用了. 然后 ,这几天一直提示 “你的windows许可证即将过期” ,就按 ...
- leetcode刷题--两数之和(简单)
一.序言 第一次刷leetcode的题,之前从来没有刷题然后去面试的概念,直到临近秋招,或许是秋招结束的时候才有这个意识,原来面试是需要刷题的,面试问的问题都是千篇一律的,只要刷够了题就差不多了,当然 ...