forked from RachelQChen/Forum-Gua
/
app.py
executable file
·63 lines (48 loc) · 1.45 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
from flask import Flask
from flask import render_template
from flask import redirect
from flask import url_for
from flask import request
from models import Channel
from models import Post
app = Flask(__name__)
@app.route('/')
def index():
return redirect(url_for('channels'))
@app.route('/channel/list')
def channels():
channels = Channel.query.all()
c_rows = []
for c in channels:
cr = c.channel_row()
c_rows.append(cr)
return render_template('channels.html', channels=c_rows)
@app.route('/channel/new', methods=['GET','POST'])
def channel_new():
c = Channel(request.form)
c.save()
# print('channel_new: ', c)
return render_template('new_channel.html')
@app.route('/channel/<id>')
def channel_view(id):
c = Channel.query.filter_by(id=id).first()
cs = Channel.query.all()
# print('channel view: ', c)
plist = c.post_list()
print('post list: ', plist)
return render_template('channel.html', channels=cs, channel=c, posts=plist)
@app.route('/post/new', methods=['POST'])
def post_new():
p = Post(request.form)
p.save()
# print('post_new: ', p)
cid = p.channel_id
# print('Post_new channel_id', cid)
return redirect(url_for('channel_view', id=cid))
@app.route('/post/<id>')
def post_view(id):
p = Post.query.filter_by(id=id).first()
return render_template('post.html', post=p)
if __name__ == '__main__':
host = '0.0.0.0'
app.run(host=host, debug=True)