Alex, I see http methods as being very basic, a part of the URL itself.  In 
other words, from the level of the web framework it's pointless to talk 
about the URL as anything but a pair of request method and path. 
 Strangely, I'm not sure I agree with you that intelligent dispatch 
decisions should happen early on.  Rather, I think simple decisions should 
be made early on.

On Monday, April 15, 2013 12:33:42 PM UTC-5, Alex Ogier wrote:
>
> On Mon, Apr 15, 2013 at 1:22 PM, Donald Stufft <[email protected]<javascript:>
> > wrote:
>
>>
>> On Apr 15, 2013, at 1:16 PM, Alex Ogier <[email protected] <javascript:>> 
>> wrote:
>>
>> The problem I have with fallthrough-based dispatch is that it encourages 
>> really expensive performance-killing patterns, where you end up doing a 
>> linear scan over view functions round-tripping to the database for each one 
>> to see if the view can handle the request. multiurl is sort of nice because 
>> it least it's obvious that what it's doing might be expensive, and the 
>> whole linear scan is collected in one place so if it gets too long it looks 
>> "wrong" in a Joel Spolsky sense.
>>
>>
>> I don't see how including the method in the resolution scheme equates to 
>> hitting the database.
>>
>
> Oh sorry, I wasn't totally clear. I am advocating a system where people 
> are encouraged to make intelligent dispatch decisions like this one early 
> in the routing framework *instead* of with a try-catch-fallthrough pattern. 
> Anything that lets you avoid doing extra work through a little up-front 
> intelligence is a plus in my book, and I think it's a shame that there 
> aren't really any good hooks to make these kinds of intelligent decisions 
> in the routing framework. django-multiurl has already done a lot of the 
> heavy lifting to make multiple URLs for the same regex work in a clean way 
> outside of core, but it uses this onerous pattern of calling views and 
> expecting them to fail in a specific way. So I am proposing that it could 
> easily be made to have all the right hooks to make arbitrary intelligent 
> routing decisions.
>
> I think we're on the same side here, except that you want this in core.
>
> Best,
> Alex Ogier
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" 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-developers?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to