On Dec 22, 2011, at 9:21 PM, Anthony wrote:

> On Thursday, December 22, 2011 9:09:22 PM UTC-5, Joseph Jude wrote:
> I used this the below in routes.in
> 
> (r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<slug>\w+)/$', 
> '/init/default/index/\g<year>/\g<month/\g<slug>'),
> 
> but when I go to a url
> 
> localhost:/2011/11/a-slug
> 
> it returns invalid request error
> 
> then I tried 
> 
> routers = dict(
>   BASE  = dict(default_application = 'init',
>                          default_controller = 'default',
>                      default_function = 'index',
> ),
> )
> which gives me the error:
> invalid function (default/2011)
> 
> 
> I think that's supposed to work. Jonathan, is that a bug?
> 

No. The problem is that the router doesn't introspect the controller, and it 
doesn't know what its function names are. So it assumes that 2011 is a function 
in the default controller.

For this to work, it's necessary to provide the router with a list of valid 
functions in the default controller: functions = [index, whatever, ...].

Reply via email to