Flask 处理上传的文件非常简单,总结归纳可以分为三步:
使用 <form> 标签被标记有 enctype=multipart/form-data ,并且在里面包含一个 <input type=file> 标签
服务端通过请求对象上的 files 字典访问文件
使用文件的 save() 方法将文件永久地保存在文件系统上的某处
假设将上传的文件存放在 static/uploads 目录中。
werkzeug 库可以判断文件名是否安全,例如防止文件名是 /../test.png, 安装
pip install
Read more ...
使用 JSON 作为交换格式
处理 JSON 时,请求和响应头的 Content-Type 设置为 application/json 。
from flask import Flask, request, Response
import json
app = Flask(__name__)
@app.route('/json', methods=['POST'])
def my_json():
print request.headers
print request.json
rt = {'info':'hello '+request.json
Read more ...
Flask 是一个轻量级的基于 python 的 web 框架。
安装运行
一般情况下,只要通过 pip 安装 Flask 即可:
pip install Flask
进入 python shell
>>> import flask
>>> print flask.__doc__
flask
~~~~~
A microframework based on Werkzeug. It's extensively documented
and follows best practice patterns
Read more ...
因为 HTTP 协议是无状态的,服务器不知道用户上一次做了什么,这阻碍了交互式 Web 应用程序的实现,所以引入了 Cookie 和 Session,用来记录用户的状态。
要记住的一点是 Session 是服务端记录状态,而 Cookie 是客户端记录状态。
对于一个分布式应用来说服务端记录状态会涉及到大量的成本。
session
from flask import Flask, render_template_string, \
session, request, redirect, url_for
app = Flask(__name__)
Read more ...
毕业面临人生第一次租房,而到现在从学校搬出来也已经有近一个月时间,期间工作有些繁忙,而有一些租房相关的笔记一直躺在WizNote中,直到今天回到家,才想到应该把我的经历记下来,提醒自己以后租房过程中避坑。
信息来源
现在的社会是一个信息为主的社会,我们经常挂在嘴边说的一句话就是信息不对称能够产生利益,现在社会很多的金钱交易都是基于信息的不对称。而租房信息获取的途径也会直接导致以后一年的住房条件和心情。下面就讲讲我参考的几个主要站点和App。
自如
首先就是自如,也是我周围同学使用最多的,大多数周围的同学都通过自如找到了房子,我也看过一些自如的房子,
Read more ...
对于标题中提出的问题,可以拆分来一步步解决。先来区分 MySQL 中的 KEY 和 INDEX ,之后问题就可以简化为 PRIMARY KEY,UNIQUE KEY 和 INDEX 的区别。而这三者也正好是索引的划分,主键索引,唯一索引和普通索引(INDEX)。
INDEX 可以用来提高数据库中查询数据的速度。INDEX 通常加在那些 JOIN, WHERE,和 ORDER BY 子句的列上。创建索引时,需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记
Read more ...
最近用到 MySQL 5.7 把所有设备上的 MySQL 版本都升级到了最新,在 Ubuntu/Debian 上升级MySQL 5.7 的内容可以在之前的文章看到。现在记录一下树莓派中升级 MySQL 的步骤。使用到 MySQL 5.7 主要也是因为其支持的新数据类型,之前项目用到了,迁移的时候会遇到问题。在网上寻找解决方案的时候遇到了一个和我遭遇差不多的,需要使用到 MySQL 5.7+ 才支持的 JSON data-type。
在 respberry pi 官方的源中,只有稳定版的 5.5 MySQL,如果要用到最新的版本只能够自己手动编译更新安装
Read more ...
rsync 全名 Remote Sync,是类 UNIX 系统下的数据镜像备份工具。可以方便的实现本地,远程备份,rsync 提供了丰富的选项来控制其行为。rsync 优于其他工具的重要一点就是支持增量备份。
rsync - a fast, versatile, remote (and local) file-copying tool
rsync 是一个功能非常强大的工具,其命令也有很多功能选项,它的特性如下:
可以保持文件原来的权限、时间、所有者、组信息、软硬链接等等
可以从远程或者本地镜像保存整个目录树和文件系统
无须特殊
Read more ...
Tmux 是一个很棒的终端复用工具,和 screen 命令类似,但是 Tmux 终极的分屏功能要比 screen 强大很多,当然入门也比 screen 要高很多。如果你长时间在终端进行编程或者操作,或者你陷入无数的 Tab 而无法自拔,那么你应该需要开始了解一些 Tmux 的基本使用。
本文会从如下几个方面对 Tmux 进行介绍:
Tmux 基本使用
Tmux 的基本模块
Windows
Panes
Sessions
Tmux 主要包括以下几个模块:
session
Read more ...
这些天折腾 Django 的时候用到了 MySQL,然而本地和VPS 上使用的版本不一致,本地使用了 5.7 版本,而 VPS 上使用了 5.5 的老版本,在数据迁移的时候遇到了 5.5 版本下不支持 DATETIME(6) 这样的数据类型。 DATETIME(6) 用来保存精确到微秒的时间。
环境:
系统:Debian 7, 按道理 Ubuntu/Debian 系应该都可以
无奈只能升级 MySQL 到 5.7 , 结果也比较顺利,官方有很详细 的升级说明:
wget http://dev.mysql.com/get/mysql-apt-con
Read more ...