Вот что в первую очередь мешает в Django - это urlconf на регулярках
Честно скажу, прочитал — крайне удивился. Уж что-что, а это лично мне всегда казалось очень здравой и удобной идеей. Поэтому не знаю, правильно ли я понял саму претензию… Но тем не менее.
Мне кажется, что если говорить о как таковом наличии отдельного маппера между URL'ами и логикой, то проще регулярок тут ничего не придумать. Они и универсальны, и достаточно просты в тех случаях, в которых реально используются в urlconf. Зачем городить что-то новое? Я серьезно считаю, что это "в доску" просто:(r'^client/(\d+)/profile/$', views.client)
Еще есть мнение, что маппер вообще не нужен. Что URL можно составлять автоматически из названий объектов и методов, как это сделано в CherryPy и, если я не отстал от жизни, RoR. Но вот это, на самом деле, зло. Во-первых, потому что связывает схему URL с внутренней структурой софта и не позволяет ее свободно менять. А во-вторых, потому что не дает создать URL'ы, четко соответствующие пользовательской модели программы, а вместо этого выставляют наверх модель ее реализацию, которая пользователю чужда и, соответственно, смысл URL как одного из инструментов пользовательского интерфейса теряется.
http://softwaremaniacs.org/blog/2007/01/24/django-defense/ (пост старый, но про именно этот момент все верно и актуально)