我正在Django中制作一个过滤器,它以tweet的URL作为参数,并返回一个HTML代码以在浏览器中显示。不幸的是,这不起作用,因为Django抱怨OEmbedConsumer是不可调用的。我认为这要么是一个随机的bug,要么是我对如何使用框架的特定部分的误解
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
。这在某种程度上是意料之中的
提前谢谢
将代码更改为:
回答这个问题的猜测是,您使用的是https://github.com/dokterbob/python-oembed,在其自述文件中,它应该这样使用
相关问题 更多 >
编程相关推荐