2013-05-13 38 views
0

我正在開發一個應用程序,我想實現「共享」功能,它可以將內容分享到Facebook或Twitter。每個內容都有自己的ID,我想在點擊「共享」按鈕時生成一個哈希鏈接。說,如果有一篇文章A,我想將它分享到Facebook,所以我點擊「分享到臉書」按鈕。然後它應該生成一個url,它看起來像「http // my_app_backstage_server/essay/hash(id)」,其中hash(id)不是內容的真實id,而是散列的。我如何在Flask框架中實現這一點? 謝謝!如何使用燒瓶生成哈希共享鏈接

回答

1

Facebook like buttontwitter只是在臉書上創建鏈接到您的頁面(如果您不想爲此操作生成特殊鏈接)。所以你只需要提供內容頁面訪問權限。

您可以生成隨機的字符串或實際哈希並將其存儲在數據庫中(不要忘了,這個值必須是唯一的):

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或只是鏈接)。
+0

非常感謝您的幫助! – Yuqi 2013-05-17 08:51:40