sqlite3
1 2 3 4 5 6 7 | create table results ( id integer primary key autoincrement, title text, data text, img text, created datetime ); |
models.py
1 2 3 4 5 6 7 8 9 10 11 12 | 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | @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
1 2 3 4 5 6 7 8 9 10 11 12 13 | {% 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | {% 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でやりたい