Python:在Facebook和Twitter上分享帖子的模块

时间:2014-10-27 07:22:19

标签: python django facebook twitter

我已经构建了一个管理面板,用于在前端发布内容,例如文章。

此管理员是使用Django Admin。

创建的

如何在 Facebook Twitter 上分享新发布的文章?

2 个答案:

答案 0 :(得分:4)

您可以使用post_save信号,它允许您挂钩新的对象创建,例如:

from django.db       import models
from django.dispatch import receiver

class Article(models.Model):
  name = models.CharField(max_length = 255)

@receiver(post_save, sender = Article)
def new_article_event(sender, instance, created, **kwargs):
  if created:
    # Put facebook/twitter post code here

重要的是,您要检查创建是否为True,以确保仅在新文章上发布。

您可以使用以下项目在Facebook / Twitter上发布:

Facebook:https://github.com/tschellenbach/Django-facebook

推特:https://code.google.com/p/python-twitter/

答案 1 :(得分:0)

要在创建后自动分享,您有两个选项:

  1. 信号
  2. 覆盖文章 - 保存方法

  3. 信号

    您应该在与 views.py settings.py 等相同的路径中创建文件signals.py ...

    然后像这样自定义(让我们假设你的ModelName是文章):

    from django.db.models.signals import post_save, pre_delete
    from django.dispatch import receiver
    
    @receiver(article_save, sender=Article)
    def create_article(sender, **kwargs):
        article = kwargs['instance']
        #  SHARE FACEBOOK CODE USING ARTICLE DATA
    

    覆盖文章保存方法

    class Article(models.Model):
        field=...
        ...
    
        def save(self, *args, **kwargs):
            # SHARE FACEBOOK CODE USING ARTICLE DATA.
            self.something  # self points to current article
    
            super(Article, self).save(*args, **kwargs)
    

    要知道如何进行分享,我建议您阅读:Facebook Sharer title and sumamry customization