I register function-receiver (one in one as in the documentation).
File add_post.py:

from django.db.models.signals import post_save from django.dispatch import receiver from blog.models import Post @receiver(post_save, sender=Post) def add_post(post, **kwargs): print("Creates is" + kwargs['created']) print("Created post is " + post.title) 

Views.py file:

  from blog.siganls.add_post import add_post if createform.is_valid(): new_post = createform.save(commit=False) new_post.blog_id = blog.id new_post.save() return render(request, self.template_name, { 'postform': createform, }) 

Crashes error:

TypeError: add_post () missing 1 required positional argument: 'post'

On treysbeku can be seen that the error in the line:

 new_post.save() 

Tell me where to look?

If you remove the line

 from blog.siganls.add_post import add_post 

then the function is not called at all.

    1 answer 1

    in function

     def add_post(post, **kwargs): print("Creates is" + kwargs['created']) print("Created post is " + post.title) 

    The first argument should be called not post, but instance.