Login

A action decorator for URLs

Author:
Batiste
Posted:
March 28, 2008
Language:
Python
Version:
.96
Score:
3 (after 3 ratings)

This decorator handle a extra "action" parameter from an url and call this desired action in the provided views module.

Example:

from posts import views

urlpatterns = patterns('posts.views',
    ...
    url(r'^(?P<id>\d+)/(?P<action>delete|publish|edit)/$', action(views), name="posts-action"),
    ...
)

In templates:

{% url posts-action id=post.id,action="delete" %}
1
2
3
4
5
6
def action(views):
    def _dec(request, *args, **kwargs):
        action = kwargs['action']
        del kwargs['action']
        return getattr(views, action)(request, *args, **kwargs)
    return _dec

More like this

  1. Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 2 weeks ago
  3. Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
  5. Help text hyperlinks by sa2812 1 year, 7 months ago

Comments

Please login first before commenting.