[python-nl] rest-toolkit release

Wichert Akkerman wichert at wiggy.net
Mon Jul 14 12:32:38 CEST 2014


> On 14 Jul 2014, at 12:24, Martijn Faassen <faassen at startifact.com> wrote:
> 
> Hoi,
> 
> Ik beweer niet dat Morepath of Rest-toolkit nieuw zijn, alleen dat
> dezelfde ideeen rondspoken. Routing naar models bijvoorbeeld, zoals je
> bij traversal al hebt. Daarom noem ik dat parallele evolutie.

Ah, ok. In dat geval klopt je beeld van Pyramid niet helemaal :)

> Pyramid doet toch alleen traversal naar models met views erop? Routes
> gaan in Pyramid toch direct naar views? Voegt rest-toolkit dan niet
> routing naar models toe?

Pyramid, en repoze.bfg daarvoor, heeft altijd al twee publicatie modellen gehad: traversal zoals Zope dat kent, en het meer bekende URL dispatch waarbij je grofweg een URL via een regexp matched met een route. Een route heeft dan weer een context factory die je de context geeft, en bij de route of route+context kan je dan views registeren. Je kan zelfs helemaal los gaan en ze combineren. rest-toolkit bouwt op dat systeem voort, maar introduceert het dus niet zelf.

> De meeste web frameworks denken dat een route naam met een manier om
> via de naam een link te genererenn goed genoeg is voor link generatie.
> Ik denk daar nogal anders over. Morepath associeert routes met model
> classes zodat om een link naar een model instance kan vragen.

Dat is wel anders, en heeft een redelijk belangrijk minpunt: je forceert een 1-op-1 mapping tussen models en URLs, terwijl het niet ongebruikelijk is om hetzelfde model voor meerdere URLs te gebruiken.


> Zoals
> bij traversal. Als je met route namen gaat werken dan kun je de routes
> net inderdaad vaak net zo goed uitspellen. Het is misschien mogelijk
> om aan rest-toolkit zo'n faciliteit toe te voegen, omdat je ook de
> model classes kent waarnaar geroute wordt.

Ik zal nooit models rechtstreeks aan URLs linken omdat ik dat als een anti-pattern zie, maar het is natuurlijk vrij makkelijk voor iemand om dat bovenop rest-toolkit te doen.

Wichert.



More information about the Python-nl mailing list