• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Python
  • 标签: Python  web开发  

资源简介

Flask web开发了一个简单的博文系统,用户可登录登出,发表博文,并在网页上实时查看历史博文,数据库使用了sqlite3,测试已经通过。

资源截图

代码片段和文件信息

import sqlite3
from flask import Flaskrequestsessiongredirecturl_forabortrender_templateflash
from contextlib import closing
DATAbase = ‘flaskr.db‘
DEBUG = True
SECRET_KEY = ‘development key‘
USERNAME = ‘admin‘
PASSWORD = ‘default‘

app = Flask(__name__)
app.config.from_object(__name__)

def connect_db():
    return sqlite3.connect(app.config[‘DATAbase‘])

def init_db():
    with closing(connect_db()) as db:
        with app.open_resource(‘scheme.sql‘) as f:
            db.cursor().executescript(f.read().decode())
        db.commit()

@app.before_request
def before_request():
    g.db = connect_db()

@app.teardown_request
def teardown_request(exception):
    g.db.close()


@app.route(‘/‘)
def show_entries():
    cur = g.db.execute(‘select titletext from entries order by id desc‘)
    entries = [dict(title=row[0]text=row[1]) 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 (titletext) values (??)‘[request.form[‘title‘]request.form[‘text‘]])
    g.db.commit()
    flash(‘New Entry is 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 are 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 are logged out“)
    return redirect(url_for(‘show_entries‘))









    











if __name__ == “__main__“:
    app.run()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        600  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)\flaskr\templates\show_entries.html

     文件        494  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)\flaskr\templates\layout.html

     文件        406  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)\flaskr\templates\login.html

     文件       3072  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)\flaskr\flaskr.db

     文件       1979  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)\flaskr\flaskr.py

     文件       1187  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)\flaskr\flaskr.pyc

     文件        150  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)\flaskr\scheme.sql

     文件        919  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)\flaskr\style.css

     目录          0  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)\flaskr\static

     目录          0  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)\flaskr\templates

     目录          0  2018-01-26 14:07  Python Flask开发实例(试验楼的小Demo)\flaskr

     目录          0  2018-01-26 06:05  Python Flask开发实例(试验楼的小Demo)

----------- ---------  ---------- -----  ----

                 8807                    12


评论

共有 条评论