diff options
| -rw-r--r-- | famille.py | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -188,19 +188,20 @@ def show_news(news_id): @app.route('/news/<int:news_id>/edit', methods=['GET', 'POST']) @login_required def edit_news(news_id): - db = db_session() + metadata = get_metadata() + news = Table('news', metadata, autoload = True) if request.method == 'GET': - news = query_db(db, "SELECT * from news WHERE news.id = ?", - (news_id,), True) + stmt = select([news]).where(news.c.id = news_id) + news = query_db(stmt, True) if news["user_id"] == session['user_id']: return render_template('news/add.html', news=news) elif request.method == 'POST': - title = request.form['title'] - content = request.form['content'] - content_cache = rstify(content) - db.execute("UPDATE news SET 'title'=?, 'content'=?, 'content_cache'=? " - "WHERE news.id =?", - (title, content, content_cache, news_id)) + stmt = news.update().where(news.c.id = news_id).\ + values(title = request.form['title'], + content_cache = rstify(request.form['content']), + content = request.form['content']) + db = db_session() + db.execute(stmt) db.commit() return redirect(url_for('show_news', news_id=news_id)) |
