Djangoでは、引数としてtweetの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
の欠如に不満。これはやや期待されている。
ありがとうございます。あなたのコード
「oembed」とは何ですか?「OEmbedCosumer」とは何ですか? – Sayse
クラス自体を共有すると便利です。 – metmirr
完全なトレースバックを追加してください。私はそれがエラーを引き起こす 'response = consumer(url)'の行だと思います。使用しているライブラリのドキュメントを読んだことがありますか? 'consumer.embed(url)'が正しいのでしょうか? –