Ivan, Thanks for reviewing the snippet.
> While the decorator looks nice it creates in my opinion at least as many > problems as it solves. > > 1. You can apply decorators only to custom views, not to generic views. > And as generic views are commonly used one still should keep a separate > urls.py for them. First of all, the decorator is fully optional. It doesn't replace urlpatterns, it gently appends to them. There's nothing wrong in writing: urlpatterns = urlpatterns('', ('^news/$', 'django.views.generic.object_list', {'queryset':......}) ) @url('^edit_news/$') def edit_news(request): .... Second, I think the use of generic views is over-estimated. Generic views do not even support access restrictions (@user_passes_test) and thus are most of the time proxied via custom one-line views. > 2. One of the best things (again, in my opinion) of urls.py is that it > shows whole user interface of an app in one place. You loose this > feature with decorators scattered all over views. While I see the rationale in your words, that position is very arguable. Encapsulation is one of the greatest programming principles. From the architectural point of view, the app-level urls.py shouldn't bother what members area urls are there in members module, since it can safely delegate the responsibility to manage the list of members urls and just pull the data when needed. > BTW, do you know that you can use function objects instead of their > names in url definition? So this: > > urlpatterns = patterns(__name__, > (r'^index/$', 'index'), > > becomes just: > > urlpatterns = patterns('', > (r'^index/$', index), Sure, that way it is more natural. Alas, that won't work, since index function is defined later in the module code. Alternatively, one should put urlpatterns to the very end of the module file, which just doesn't feel right to me. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---