2017-01-26 59 views
-2

我做在Django的過濾器,這需要鳴叫的URL作爲參數,並返回一個HTML代碼在瀏覽器中顯示。不幸的是,這是不行的,因爲Django的抱怨OEmbedConsumer是不可調用的。我相信這是任何一個隨機錯誤或如何使用框架的特定部分在我身邊的誤解。不能使類的實例在Django

from django import template 
from oembed import OEmbedConsumer, OEmbedEndpoint 


register = template.Library() 


@register.filter 
def get_twitter_html(url): 
    consumer = OEmbedConsumer() 
    endpoint = OEmbedEndpoint('https://publish.twitter.com/oembed', 
          ['http://*.twitter.com/*', 
          'https://*.twitter.com/*']) 
    consumer.addEndpoint(endpoint=endpoint) 
    response = consumer(url) 
    return response.html.replace('\\', '') 

我也試圖跳過()但隨後addEndpoint抱怨缺乏self。這是有點期待。

在此先感謝。你的代碼

+1

什麼是'oembed'和'OEmbedCosumer'應該是什麼? – Sayse

+0

這將有助於分享課程本身。 – metmirr

+0

請添加完整的追溯。我想這是導致錯誤的行'response = consumer(url)'。您是否閱讀過您正在使用的oembed庫的文檔?難道它是'consumer.embed(url)'是正確的嗎? –

回答