在过去的几天里,我一直在考虑开始将我的网站转向实时。我查看了 Gevent(不能使用 b/c,我使用的是 Python 3.3)、Tornado 和 Webalchemy。
Webalchemy 和 Tornado 都是选择。目前,我还没有成功地将他们的代码与我的代码相结合……也就是说,我无法获得实时结果。我为自己设定了一个适度的目标:让赞成/反对票实时显示。
这是我的投票功能:
@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..绝对不是我想做的。
这是我的 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 %}
想法?