Hãy xem xét rằng tôi bao gồm namespaced ứng dụng tái sử dụng:Làm thế nào để làm tìm kiếm URL ngược trong ứng dụng tái sử dụng Django namespaced
urlpatterns = patterns('',
# ella urls
url('^ella/', include('ella.core.urls', namespace="ella")),
)
Bây giờ, các ứng dụng Ella có url như thế:
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")
)
Bây giờ, gọi {% url ella:category_detail category="cat" %}
hoạt động tốt. Tuy nhiên, khi đối tượng cố gắng để tạo ra liên kết đến các chi tiết của nó, nó gọi
from django.core.urlresolvers import reverse
url = reverse('object_detail', kwargs={'required' : 'params'})
Đây không phải đang làm việc, trừ khi viết lại như
from django.core.urlresolvers import reverse
url = reverse('ella:object_detail', kwargs={'required' : 'params'})
Vì vậy, nếu tôi hiểu nó một cách chính xác, bao gồm cả ứng dụng tái sử dụng vào không gian tên phá vỡ tất cả các đảo ngược bên trong() s bên trong ứng dụng đã cho.
Có đúng không? Tôi đã bỏ lỡ điều gì? Có cách nào xung quanh không?
+1 Tôi sắp hỏi cùng một câu hỏi –