considero que incluyen espacios de nombres de aplicaciones reutilizables:Cómo hacer búsqueda URL inversa en aplicación reutilizable Django namespaced
urlpatterns = patterns('',
# ella urls
url('^ella/', include('ella.core.urls', namespace="ella")),
)
Ahora, las aplicaciones Ella tiene las direcciones URL así:
urlpatterns = patterns('',
url(r'^(?P<category>[a-z0-9-/]+)/$', category_detail, name="category_detail"),
# object detail
url(r'^(?P<category>[a-z0-9-/]+)/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<content_type>[a-z0-9-]+)/(?P<slug>[a-z0-9-]+)/$',
object_detail, name="object_detail")
)
Ahora, llamando {% url ella:category_detail category="cat" %}
funciona bien. Sin embargo, cuando el objeto intenta generar un enlace a ella de detalles, llama
from django.core.urlresolvers import reverse
url = reverse('object_detail', kwargs={'required' : 'params'})
esto no funciona, a no ser reescrito como
from django.core.urlresolvers import reverse
url = reverse('ella:object_detail', kwargs={'required' : 'params'})
lo tanto, si he entendido bien, incluyendo la aplicación reutilizable en espacio de nombres rompe todos los reversos internos() dentro de la aplicación dada.
¿Es verdad? ¿Qué me he perdido? ¿Hay alguna forma de evitarlo?
+1 Estaba a punto de hacer la misma pregunta –