python - 在 Django 管理中,在初始保存时发推文?

标签 python django model tweets

我正在使用 Django,并且最近创建了一个博客作为我的第一个 Django/python 项目。为了简单起见,我决定使用我的博客管理系统的默认管理区域。我想在最初创建博客文章时自动发布 Twitter 更新,但在编辑博客文章时则不然。我知道如何发送推文,但如何在帖子的初始保存时运行一些代码,而不是在编辑后运行?

我使用的是 Django 1.5.4,博客文章的模型简称为“Post”。

最佳答案

您至少可以通过两种方式执行此操作:您可以像这样重写模型的保存方法:

class Post(models.Model):
    ...
    def save(self, *args, **kwargs):
       if not self.pk:
         #tweet about the post
       super(Post, self).save(*args, **kwargs)

..但是如果您只想将此行为与 django admin 关联(例如,您只想在通过管理应用程序创建帖子时发布有关帖子的推文,而不是在显式调用 Post.objects.create() 时发布帖子) ),然后您可以使用 ModelAdmin 类的 save_model() 方法:

class PostAdmin(admin.ModelAdmin):
   ....
   def save_model(self, request, obj, form, change):
      if not obj.pk:
         #tweet about the post
      obj.save()

您还可以查看https://docs.djangoproject.com/en/dev/ref/contrib/admin/

关于python - 在 Django 管理中,在初始保存时发推文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20874828/

相关文章:

python - Django - 代理模型的权限

python - 为什么 celery 守护进程看不到任务?

python - 如何将本地 django 制作的站点移动到另一台机器上?

javascript - Django 减少模板渲染时间

python - 一般在 Django 和 Python 调试中获取或创建通用关系

python - 值错误: Can't handle mix of multilabel-indicator and continuous-multioutput accuracy_score()

codeigniter - 如何将数据从 Controller 传递到 CI 中的 View

python - 用于存储排序字段以有效允许修改的数据结构

python - Django(带 PyCharm)和 PYTHON 路径问题

python - django查询用于对作为外键出现的字段上的数据进行排序