init
This commit is contained in:
commit
5309e0593b
22 changed files with 722 additions and 0 deletions
blog/views
59
blog/views/entries.py
Normal file
59
blog/views/entries.py
Normal file
|
@ -0,0 +1,59 @@
|
|||
from flask import render_template, redirect, url_for, request, flash
|
||||
from blog import app, db
|
||||
from blog.models.entries import Entry
|
||||
from blog.views.auth import login_required
|
||||
|
||||
@app.route("/")
|
||||
@login_required
|
||||
def show_entries():
|
||||
entries = Entry.query.order_by(Entry.id.desc()).all()
|
||||
return render_template('entries/index.html', entries=entries)
|
||||
|
||||
@app.route("/entries/new", methods=['GET'])
|
||||
@login_required
|
||||
def new_entry():
|
||||
return render_template('entries/new.html')
|
||||
|
||||
@app.route("/entries", methods=["POST"])
|
||||
@login_required
|
||||
def add_entry():
|
||||
entry = Entry(
|
||||
title=request.form['title'],
|
||||
text=request.form['text']
|
||||
)
|
||||
db.session.add(entry)
|
||||
db.session.commit()
|
||||
flash('新しく記事が作成されました')
|
||||
return redirect(url_for("show_entries"))
|
||||
|
||||
@app.route("/entries/<int:id>", methods=["GET"])
|
||||
@login_required
|
||||
def show_entry(id):
|
||||
entry = Entry.query.get(id)
|
||||
return render_template("entries/show.html", entry=entry)
|
||||
|
||||
@app.route('/entries/<int:id>/edit', methods=['GET'])
|
||||
@login_required
|
||||
def edit_entry(id):
|
||||
entry = Entry.query.get(id)
|
||||
return render_template('entries/edit.html', entry=entry)
|
||||
|
||||
@app.route("/entries/<int:id>/update", methods=['POST'])
|
||||
@login_required
|
||||
def update_entry(id):
|
||||
entry = Entry.query.get(id)
|
||||
entry.title = request.form['title']
|
||||
entry.text = request.form['text']
|
||||
db.session.merge(entry)
|
||||
db.session.commit()
|
||||
flash('記事が更新されました')
|
||||
return redirect(url_for('show_entries'))
|
||||
|
||||
@app.route("/entries/<int:id>/delete", methods=["POST"])
|
||||
@login_required
|
||||
def delete_entry(id):
|
||||
entry = Entry.query.get(id)
|
||||
db.session.delete(entry)
|
||||
db.session.commit()
|
||||
flash('記事が削除されました')
|
||||
return redirect(url_for("show_entries"))
|
Loading…
Add table
Add a link
Reference in a new issue