I have avoided this problem by wrapping my function in another
function, but a bit inconvenient :)
def refresh_index_page(sender, *args, **kwargs):
invalidate_template_cache(fragment_name="categories_index", *args,
**kwargs)
signals.post_save.connect(receiver=refresh_index_page, sender=Post)
If you run python >= 2.5, this should work :
from functools import partial
signals.post_save.connect(
receiver=partial(refresh_index_page,
fragment_name="categories_index"),
sender=Post
)
cf http://docs.python.org/release/2.5/whatsnew/pep-309.html for more
on partial application.
If you need backward compat with older Python versions, there is/was
something pretty similar in Django itself named curry, so this should
works as well:
from django.utils.functional import curry
signals.post_save.connect(
receiver=curry(refresh_index_page,
fragment_name="categories_index"),
sender=Post
)
HTH