Django - facebook meta标签

时间:2015-08-20 08:11:58

标签: jquery python django facebook facebook-graph-api

我在我的Django网站上使用aldryn-facebook,到目前为止,我只在aldryn.com的一个临时环境中工作。

我创建了一个Facebook应用,当我检查https://graph.facebook.com/ap_id_xxxxxxxxx

时,它似乎输出了正确的数据

在我使用aldryn-newsblog生成的博文中,我添加了一个喜欢和分享按钮。

我必须创建自己的共享文件,这不包含在aldryn-facebook中。

{% include "aldryn_facebook/snippets/_jssdk.html" %}

<div class="fb-share-button" 
    {% if instance.href %} data-href="{{ instance.href }}" {% endif %}
    data-layout="{{ instance.layout_style }}" 
    {% if instance.ref %} data-ref="{{ instance.ref }}" {% endif %}
    {% include "aldryn_facebook/snippets/_common_attrs.html" %}>
</div>

当我点击博客文章中包含的分享按钮时,我确实获得了facebook分享弹出窗口,但没有包含“og-meta”标签。

所以我的问题......有没有办法动态生成这些“og-meta”标签? aldryn-facebook应该在现场处理吗?或者我必须另外加入这些吗?如果是这样..我可以像这样使用javscript / jQuery,在每个博客帖子的DOM中包含它吗? (还没有找到一种方法来逃避模板标签中的花括号)

document.getElementsByTagName('head')[0].innerHTML += '<meta property="og:title" content="{{ article.title }}" />';

是否有Python方式?

facebook会接受这个吗?

1 个答案:

答案 0 :(得分:0)

我有同样的问题,我也尝试使用jquery,但后来我意识到我可以像这样在标题上使用jinja。

<meta property="og:title" content= {% if article %} '{{article.title}}' {% else %} "Default page title" {% endif %} />

每当我有一个文章变量时,就像在博客中一样,它会取其标题而不是默认值。