Betrachten Sie tun, dass ich wieder verwendbare Anwendung Namespace gehören:Wie Reverse-URL Suche in Django Namespaced wieder verwendbare Anwendung
urlpatterns = patterns('',
# ella urls
url('^ella/', include('ella.core.urls', namespace="ella")),
)
Jetzt sind die Ella-Anwendungen, hat Urls wie folgt aus:
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")
)
Nun ruft {% url ella:category_detail category="cat" %}
funktioniert gut. Wenn jedoch Objekt versucht, Link, um es um die Details zu erzeugen, ruft es
from django.core.urlresolvers import reverse
url = reverse('object_detail', kwargs={'required' : 'params'})
Diese nicht funktioniert, neu geschrieben, es sei denn als
from django.core.urlresolvers import reverse
url = reverse('ella:object_detail', kwargs={'required' : 'params'})
Also, wenn ich es richtig verstehe, einschließlich wiederverwendbarer Anwendung in Namespace bricht alle inneren reverse() s innerhalb der gegebenen Anwendung.
Ist es wahr? Was habe ich verpasst? Gibt es einen Weg?
+1 Ich war im Begriff, die gleiche Frage zu stellen –