2017-10-25 15 views

答えて

1

編集システムでは、編集システムが正しく処理されていますか?ここでは直接言及ユーザーに@[username] =>@username

を提供django-markdown-editorあなたは、別のユーザーが言及したユーザーのためにstackoverflowのようなものを通知システムを実装する必要がある場合に便利な、機能markdown_find_mentionsについても参照されます。

def markdown_find_mentions(markdown_text): 
    """ 
    To find the users that mentioned 
    on markdown content using `BeautifulShoup`. 

    input : `markdown_text` or markdown content. 
    return : `list` of usernames. 
    """ 
    mark = markdownify(markdown_text) 
    soup = BeautifulSoup(mark, 'html.parser') 
    return list(set(
     username.text[1::] for username in 
     soup.findAll('a', {'class': 'direct-mention-link'}) 
    )) 

これは単純なフロープロセスです。

  1. コメント/投稿/ etcを作成するときは、すべてのユーザーを見つけて通知を作成します。
  2. commemnt/post/etcを編集するときは、上記の新規ユーザーをすべて見つけて通知を作成します。

メイク通知には送信者と受信者があります。

class Notification(TimeStampedModel): 
    sender = models.ForeignKey(User, related_name='sender_n') 
    receiver = models.ForeignKey(User, related_name='receiver_n') 
    content_type = models.ForeignKey(ContentType, related_name='n', on_delete=models.CASCADE) 
    object_id = models.PositiveIntegerField() 
    content_object = GenericForeignKey('content_type', 'object_id') 
    read = models.BooleanField(default=False) 

    .... 
関連する問題