Flask快速入门
admin
2023-07-30 20:44:31
0

声明

原文地址http://codingnow.cn/server/409.html

#!/usr/bin/env python
#coding=utf-8

from flask import Flask,url_for,request,render_template,redirect,abort,escape,session
from werkzeug import secure_filename

print __name__
app = Flask(__name__)
app.secret_key = \'hello\'

@app.route(\'/\')
def index():
    return \"hello flask\"

@app.route(\'/user/\')
def show_username(username):
    return username

@app.route(\'/post/\')
def show_post(post_id):
    return \'post_id:%d\' % post_id

#if you visit /projects will redirect /projects/
@app.route(\'/projects/\')
def projects():
    return \'the project page\'

#if you visit /about/ will return 404 error
@app.route(\'/about\')
def about():
    return \'the about page\'

@app.route(\'/upload/\',methods=[\'GET\',\'POST\'])
def upload_file():
    if request.method == \'POST\':
        f = request.files[\'the_file\']
        f.save(\'./\'+secure_filename(f.filename))
        return secure_filename(f.filename)
    else:
        return render_template(\'upload_file.html\')

@app.route(\'/redirect/\')
def test_redirect():
    return redirect(url_for(\'test_error\'))

@app.route(\'/test_error/\')
def test_error():
    #中断请求,并返回错误码
    abort(404)

@app.errorhandler(404)
def page_not_found(error):
    print error
    return render_template(\'page_not_found.html\'),404

@app.route(\'/index/\')
def test_session():
    if \'username\' in session:
        return \'logged in as %s\' % escape(session[\'username\'])
    return redirect(url_for(\'login\'))

@app.route(\'/login/\',methods=[\'GET\',\'POST\'])
def login():
    if request.method == \'POST\':
        session[\'username\'] = request.form[\'username\']
        return redirect(url_for(\'test_session\'))
    else:
        return \'\'\'
        
\'\'\' @app.route(\'/logout/\') def logout(): session.pop(\'username\',None) return redirect(url_for(\'test_session\')) with app.test_request_context(): print url_for(\'index\') print url_for(\'index\',next=\'/\') print url_for(\'show_username\',username=\'alex\') @app.route(\'/setcookie\') def set_cookie(): if \'num\' in request.cookies: count = int(request.cookies[\'num\']) + 1 else: count = 0 #每个view最后返回的都是response对象,render_template内部做了处理 #也可以这样表示response = make_response(render_template(\'index.html\', count=100)) #不设置max_age和expires时,默认是会话cookie,浏览器关闭后cookie就失效 #domain可以设置跨域cookie,如domain=\".example.com\",这样cookie可以 被\"www.example.com,alex.example.com\"共享 response = app.make_response(str(count)) response.set_cookie(\'num\',value=count,max_age=None,expires=None,domain=None) return response if __name__ == \'__main__\': app.run(host=\"localhost\",port=8888,debug=True)

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...