0

我正在开发一个应用程序,我想实现“分享”功能,可以将内容分享到 facebook 或 twitter。每个内容都有自己的 id,我想在单击“共享”按钮时生成一个散列链接。比如说,如果有一篇文章 A,我想把它分享到 facebook,所以我点击“分享到 facebook”按钮。然后它应该生成一个 url,看起来像“http//my_app_backstage_server/essay/hash(id)”,其中 hash(id) 不是内容的真实 id,而是散列后的 id。如何在 Flask 框架中实现这一点?谢谢!

4

1 回答 1

1

Facebook like 按钮twitter只需在 facebook 上创建指向您页面的链接(如果您不想为此操作生成特殊链接)。因此,您只需要提供内容页面访问权限。

您可以生成随机字符串或真实哈希并将其存储在数据库中(不要忘记此值必须是唯一的):

import random
import string
from hashlib import sha512

SIMPLE_CHARS = string.ascii_letters + string.digits

def get_random_string(length=24):
    return ''.join(random.choice(SIMPLE_CHARS) for i in xrange(length))

def get_random_hash(length=24):
    hash = sha512()
    hash.update(get_random_string())
    return hash.hexdigest()[:length]

我认为您不需要同时拥有内容的 id 和哈希访问权限。

如果您想为任何共享按钮操作生成链接(我真的不明白为什么):

  1. 您必须为此链接添加路线;
  2. 您必须添加路线才能创建链接;
  3. 如果您没有用户共享数据的权限,您可以通过 ajax 创建链接并在之后共享;
  4. 如果您拥有共享数据的用户权限,则可以通过应用程序(ajax 或仅链接)创建链接。
于 2013-05-13T08:46:46.753 回答