sqlite3
create table results ( id integer primary key autoincrement, title text, data text, img text, created datetime );
models.py
def select(con, pk): cur = con.execute('select id, title, data, img, created from results where id=?', (pk,)) return cur.fetchone() def select_all(con): cur = con.execute('select id, title, data, img, created from results order by id desc') return cur.fetchall() def delete(con, pk): cur = con.cursor() cur.execute('delete from results where id=?', (pk,)) con.commit()
run.py
@app.route('/') def index(): con = get_db() results = models.select_all(con) return render_template('index.html', results=results) @app.route('/delete/<pk>') def delete(pk): con = get_db() models.delete(con, pk) return redirect(url_for('index')) @app.route('/view/<pk>') def view(pk): con = get_db() result = models.select(con, pk) return render_template("view.html", result=result)
index.html
{% for result in results %} <tr> <td>{{result.id}}</td> <td>{{result.title|safe}}</td> <td>{{result.rcreated}}</td> <td> <a href="/view/{{result.id}}"><button class="btn btn-primary">参照</button></a> <form action="/delete/{{result.id}}" style="display:inline" method="post"> <input class="btn btn-danger" type="submit" value="削除" onclick='return confirm("削除しますがよろしいですか")';> </form> </td> </tr> {% endfor %}
view.html
{% extends "base.html" %} {% block body %} <h1>結果参照</h1> <h3>{{ result.id}}: {{ result.title|safe}}</h3> <p>{{ result.created }}</p> <div class="row"> <img src="{{ url_for('static', filename=result.img)}}"> </div> <div class="row"> <textarea class="form-control" name="data" rows="5">{{result.data}}</textarea> </div> <br><br> {% endblock %}
OK 一通り理解した
mysql & Dockerでやりたい