簡體   English   中英

使用Django信號創建用戶供稿

[英]Creating user feed using django signals

這是我的模型,可以創建其他模型流。 但是,現在我要使提要用戶特定。 我正在使用django的預定義用戶模型。 有哪些可能的方法?

class StreamItem(models.Model):
      content_type = models.ForeignKey(ContentType)
      object_id = models.PositiveIntegerField()
      pub_date = models.DateTimeField()

      content_object = generic.GenericForeignKey('content_type', 'object_id')

      def get_rendered_html(self):
         template_name = 'streams/stream_item_%s.html' % (self.content_type.name)
         return render_to_string(template_name, { 'object': self.content_object })



def create_stream_item(sender, instance, signal, *args, **kwargs):
    # Check to see if the object was just created for the first time
    if 'created' in kwargs:
        if kwargs['created']:
            create = True

        # Get the instance's content type
        ctype = ContentType.objects.get_for_model(instance)

        pub_date = instance.pub_date

        if create:
            si = StreamItem.objects.get_or_create(content_type=ctype, object_id=instance.id, pub_date=pub_date)``



# Send a signal on post_save for each of these models
for modelname in [Fest, College, Event]: 
    my_signal = dispatch.Signal()      
    my_signal.connect(create_stream_item, sender=modelname)

您可能想嘗試這個程序。

https://django-activity-stream.readthedocs.org/en/latest/

它使用信號創建動作流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM