在过去的几天里,我开始考虑开始将我的网站变为实时。我看了Gevent(不能使用b / c我使用的是Python 3.3),Tornado和Webalchemy。
Webalchemy和Tornado都是选择。在这个时候,我还没有成功地将他们的代码与我的代码进行网格化...也就是说,我无法获得实时结果。我为自己设定了一个适度的目标:让upvote / downvote自动收报机实时显示。
这是我的upvote功能:
@mod.route('/updebate/<int:entries_did>')
def up_vote(entries_did):
connection = g.db.session.connection()
g.db.engine.execute(
'update users_user set rating = rating + 1 where id in (select id from users_debates where users_debates.did ="{0}")'.format(entries_did))
g.db.engine.execute(
'update users_debates set rating = rating + 1 where did = "{0}"'.format(entries_did))
# g.db.commit()
return redirect(request.referrer)
正如你所看到的,现在我只是“request.referrer”-ing..definitely不是我想要做的。
以下是我的HTML页面中的代码:
{% for entry in entries %}
<li><h2>
<a href="/updebate/{{ entry.did }}" style="text-decoration:none; color:orange;">⬆</a>{{ entry.rating }}<a href="/downdebate/{{ entry.did }}" style="text-decoration:none; color:orange;">⬇</a><a href="/debate/{{ entry.did }}">{{ entry.title }}</a></h2>{{ entry.text|safe }}
CREATED BY: {{ entry.name }}
{% else %}
<li><em>Unbelievable. No entries here so far</em>
{% endfor %}
思想?