博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python flask 例子
阅读量:3728 次
发布时间:2019-05-22

本文共 3348 字,大约阅读时间需要 11 分钟。

python flask 例子

更多干货

概述

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。

Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

http://docs.jinkan.org/docs/jinja2/

http://flask-script.readthedocs.io/en/latest/

http://jinja.pocoo.org/docs/dev/templates/

代码 python 2

pip install flask
# -*- encoding=UTF-8 -*-from flask import Flask, render_template, request, make_response, redirect, flash, get_flashed_messagesimport loggingfrom logging.handlers import RotatingFileHandlerapp = Flask(__name__)app.jinja_env.line_statement_prefix = '#'app.secret_key = 'nowcoder'@app.route('/index/')@app.route('/')def index():    res = ''    for msg, category in get_flashed_messages(with_categories=True):        res = res + category + msg + '
' res += 'hello' return res@app.route('/profile/
/', methods=['GET', 'post'])def profile(uid): colors = ('red', 'green') infos = {
'nowcoder': 'abc', 'google': 'def'} return render_template('profile.html', uid=uid, colors=colors, infos=infos)@app.route('/request')def request_demo(): key = request.args.get('key', 'defaultkey') res = request.args.get('key', 'defaultkey') + '
' res = res + request.url + '++' + request.path + '
' for property in dir(request): res = res + str(property) + '
' + str(eval('request.' + property)) + '
' response = make_response(res) response.set_cookie('nowcoderid', key) response.status = '404' response.headers['nowcoder'] = 'hello~~' return response@app.route('/newpath')def newpath(): return 'newpath'@app.route('/re/
')def redirect_demo(code): return redirect('/newpath', code=code)@app.errorhandler(400)def exception_page(e): response = make_response('出错啦~') return response@app.errorhandler(404)def page_not_found(error): return render_template('not_found.html', url=request.url), 404@app.route('/admin')def admin(): if request.args['key'] == 'admin': return 'hello admin' else: raise Exception()@app.route('/login')def login(): app.logger.info('log success') flash('登陆成功', 'info') return 'ok' # return redirect('/')@app.route('/log/
/
/')def log(level, msg): dict = {
'warn': logging.WARN, 'error': logging.ERROR, 'info': logging.INFO} if dict.has_key(level): app.logger.log(dict[level], msg) return 'logged:' + msgdef set_logger(): info_file_handler = RotatingFileHandler('D:\\logs\\info.txt') info_file_handler.setLevel(logging.INFO) app.logger.addHandler(info_file_handler) warn_file_handler = RotatingFileHandler('D:\\logs\\warn.txt') warn_file_handler.setLevel(logging.WARN) app.logger.addHandler(warn_file_handler) error_file_handler = RotatingFileHandler('D:\\logs\\error.txt') error_file_handler.setLevel(logging.ERROR) app.logger.addHandler(error_file_handler)if __name__ == '__main__': set_logger() app.run(debug=True)
 

flask_script
# -*- encoding=UTF-8 -*-from flask_script import Managerfrom c2 import appmanager = Manager(app)@manager.option('-n',  '--name', dest='name', default='nowcoder')def hello(name):    print 'hello', name@manager.commanddef initialize_database():    'initialize database'    print 'database ...'if __name__ == '__main__':    manager.run()

转载地址:http://iflnn.baihongyu.com/

你可能感兴趣的文章
连接池
查看>>
Servlet的使用——重定向和转发
查看>>
JSP技术的使用——好像过时了唉。。。。。
查看>>
MVC模式概述
查看>>
Web之过滤器Filter
查看>>
JSON和AJAX
查看>>
jQuery
查看>>
web之监听器listener
查看>>
类加载器
查看>>
数据库设计
查看>>
常用的工具类代码
查看>>
Java虚拟机的内存分配和运行机制(粗谈)
查看>>
web开发之BaseServlet的使用
查看>>
初识Maven
查看>>
Maven分模块构建项目
查看>>
Log日志(一)
查看>>
MyBatis初识
查看>>
Mybatis-高级应用
查看>>
MyBatis【进阶详解】
查看>>
面试题集锦(七)
查看>>