can someone advise why the below example doesn't work on django 1.6? 

On Wednesday, April 14, 2010 12:12:49 PM UTC+3, bruno desthuilliers wrote:
>
> On 14 avr, 09:32, alecs <[email protected]> wrote:
> > How can I send a parameter to a receiver function ? This is wrong :
> > 
> signals.post_save.connect(receiver=refresh_index_page(fragment_name="categories_index",
> > sender=Post)
> >
> > 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
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/c08f5b3b-2f25-437f-8248-4160fc499445%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to