Tuesday, June 4, 2013

django1.5 - url resolver vs i18n_patterns : wrong behaviour

When I using i18n_patterns in my project urls.py I have strange behaviour of url resolver:
  expected behaviour: 
     - if pattern defined in django.conf.urls.patterns, url resolver doesn't add language prefix
    - ip pattern defined in django.conf.urls.i18n.i18n_patterns, url resolver adds language prefix at the begining of url
             
  actual behaviour
          if NO patterns defined in i18n_patterns, all work fine
          but if some pattern defined in  i18n_patterns, url resolver add language prefix to ALL urls resoved by url resolver regardless of place of pattern defenition (django.conf.urls.patterns or django.conf.urls.i18n.i18n_patterns)

Example:

* urls.py *
from django.conf.urls import patterns, include, url
from django.conf.urls.i18n import i18n_patterns

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
)

urlpatterns += i18n_patterns('',
#   url(r'^other/', include('apps.other.urls')),
}

now {% url 'admin:password_change' %} resolved as 'admin/password_change' (normal behaviour)
but if we uncomment line in i18n_patterns it will be resolved  as 'curr_lang/admin/password_change'

Can somebody explaine my why?
Thanks


--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment