我是靠谱客的博主 怕孤独苗条,最近开发中收集的这篇文章主要介绍pythonflask留言板_python+flask+sqlite3完成的小型博客留言板,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

# all the imports

from __future__ import with_statement

from contextlib import closing

import sqlite3

import time

from flask import Flask, request, session, g, redirect, url_for,

abort, render_template, flash

# configuration

DATABASE = 'E:/debug/python/flaskr/flaskr.db'

DEBUG = True

SECRET_KEY = 'development key'

USERNAME = '1'

PASSWORD = '1'

app = Flask(__name__)

app.config.from_object(__name__)

app.config.from_envvar('FLASKR_SETTINGS', silent=True)

def connect_db():

return sqlite3.connect(app.config['DATABASE'])

def init_db():

with closing(connect_db()) as db:

with app.open_resource('schema.sql') as f:

db.cursor().executescript(f.read())

db.commit()

@app.before_request

def before_request():

g.db = connect_db()

@app.after_request

def after_request(response):

g.db.close()

return response

@app.route('/')

def show_entries():

cur = g.db.execute('select title, text, time from entries order by id desc')

entries = [dict(title=row[0], text=row[1], time=row[2]) for row in 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)

g.db.execute('insert into entries (title, text, time) values (?, ?, ?)',

[request.form['title'], request.form['text'],

time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))])

g.db.commit()

flash('New entry was successfully posted')

return redirect(url_for('show_entries'))

@app.route('/login', methods=['GET', 'POST'])

def login():

error = None

if 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'] = True

flash('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__':

app.run()

最后

以上就是怕孤独苗条为你收集整理的pythonflask留言板_python+flask+sqlite3完成的小型博客留言板的全部内容,希望文章能够帮你解决pythonflask留言板_python+flask+sqlite3完成的小型博客留言板所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部