0

在过去的几天里,我一直在考虑开始将我的网站转向实时。我查看了 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;">&#11014;</a>{{ entry.rating }}<a href="/downdebate/{{ entry.did }}" style="text-decoration:none; color:orange;">&#11015;</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 %}

想法?

4

2 回答 2

1

您可以使用 WebSocket 技术将修改推送到浏览器,也可以通过定期使用 ajax 调用服务器来更新页面的内容。

于 2013-07-16T17:06:56.620 回答
0

在互联网上花了一段时间后,我找到了 FireBase,如果你想拥有一个快速、便宜、简单且完全客户端的工作,这会有所帮助。这里有很好的例子

于 2013-07-17T15:40:23.767 回答