flask下,实现简单博客3
来源:互联网 发布:网络机顶盒软件2017 编辑:程序博客网 时间:2024/05/17 07:47
flask下,实现简单博客2
所有视图(views.py完整代码):
# -*- coding: utf-8 -*-"""Flaskr~~~~~~A microblog example application written as Flask tutorial withFlask and sqlite3.:copyright: (c) 2010 by Armin Ronacher.:license: BSD, see LICENSE for more details."""from __future__ import with_statementfrom sqlite3 import dbapi2 as sqlite3from flask import Flask, request, session, g, redirect, url_for, abort, \render_template, flash, _app_ctx_stack# 创建数据库DATABASE = 'blog.db'DEBUG = TrueSECRET_KEY = 'development key'USERNAME = 'admin'PASSWORD = '123'#初始化环境# create our little application :)app = Flask(__name__)app.config.from_object(__name__)app.config.from_envvar('FLASKR_SETTINGS', silent=True)#初始化数据库def init_db():"""Creates the database tables."""with app.app_context():db = get_db()with app.open_resource('schema.sql') as f:db.cursor().executescript(f.read())db.commit()def get_db():"""Opens a new database connection if there is none yet for thecurrent application context."""top = _app_ctx_stack.topif not hasattr(top, 'sqlite_db'):sqlite_db = sqlite3.connect(app.config['DATABASE'])sqlite_db.row_factory = sqlite3.Rowtop.sqlite_db = sqlite_dbreturn top.sqlite_db@app.teardown_appcontextdef close_db_connection(exception):"""Closes the database again at the end of the request."""top = _app_ctx_stack.topif hasattr(top, 'sqlite_db'):top.sqlite_db.close()@app.route('/')def show_entries():db = get_db()cur = db.execute('select title, text from entries order by id desc')entries = cur.fetchall()return render_template('show_entries.html', entries=entries)@app.route('/add', methods=['POST'])def add_entry():if not session.get('logged_in'):abort(401)db = get_db()db.execute('insert into entries (title, text) values (?, ?)',[request.form['title'], request.form['text']])db.commit()flash('New entry was successfully posted')return redirect(url_for('show_entries'))@app.route('/login', methods=['GET', 'POST'])def login():error = Noneif request.method == 'POST':if request.form['username'] != app.config['USERNAME']:error = 'Invalid username'elif request.form['password'] != app.config['PASSWORD']:error = 'Invalid password'else:session['logged_in'] = Trueflash('You were logged in')return redirect(url_for('show_entries'))return render_template('login.html', error=error)@app.route('/logout')def logout():session.pop('logged_in', None)flash('You were logged out')return redirect(url_for('show_entries'))if __name__ == '__main__':init_db()app.run()
- flask下,实现简单博客3
- flask下,实现简单博客2
- flask下,实现简单博客4
- flask下,实现简单博客5
- python+flask实现简单博客
- 基于flask实现的简单博客
- Flask-实现博客基本功能
- 简单实现flask route
- Flask 简单博客用户文章评论部分
- flask+mongodb实现简单todolist应用
- flask + vue.js 实现简单todolist应用
- 用flask开发个人博客(1)—— 一个简单的flask程序
- 用flask开发个人博客(22)—— 使用Flask-Migrate实现数据库的更新
- 用 Flask 来写个轻博客 (25) — 使用 Flask-Principal 实现角色权限功能
- 用 Flask 来写个轻博客 (26) — 使用 Flask-Celery-Helper 实现异步任务
- 用 Flask 来写个轻博客 (27) — 使用 Flask-Cache 实现网页缓存加速
- 用 Flask 来写个轻博客 (29) — 使用 Flask-Admin 实现后台管理 SQLAlchemy
- 用 Flask 来写个轻博客 (31) — 使用 Flask-Admin 实现 FileSystem 管理
- window phone 对象序列化
- 解决iPhone3GS降级固件1015错误的方法
- system.img boot.img 等解包 压缩
- MVC学习四:通过FileResult向浏览器发送文件
- Tomcat下试用war发布项目
- flask下,实现简单博客3
- 23个GOF23设计模式的定义
- PHP中this,self,parent的区别
- MyEclipse破解方法总结
- cscope的经典用法
- HTTP协议学习笔记
- iOS平台一套完善的Crash Report解决方案
- javassist 的简单使用
- visio2007或office 2007安装失败提示一个或多个受保护的windows文件导致office 2007安装失败