NamespaceVersioning ile django-rest-framework kullanıyorum. Benim asıl urls.py şöyle görünür:Sürümlü API'lar için adlandırılmış URL'lerle temel tersine dön
...
url(r'^api/v1/', include('my_api.api_urls', app_name="api", namespace='v1')),
...
Ve my_api.api_urls.py içinde:
urlpatterns = [
url(r'^some-endpoint/$', api_views.MyView.as_view(), name='some'),
]
Her nasılsa bu URL'leri ters edebilmek için başarısız. Neden bunu yapamıyorum?
NoReverseMatch
istisnası alıyorum.
reverse('some')
Django adlı için ad etrafında başımı sarmak olamaz, ama değil sadece son tanımlanan rotayı kullanmalıyım? Ad alanı bağımsız değişkenini ana URL'den kaldırırsam her şey yolunda gider.
düzenlemek Ayrıca
çalışmıyor:
reverse('v1:some')
Ben de ekleyebiliriz ki, benim ana URL'ler dosyasında, ben API/v1/öneki için birden URL'lerin dosyaları da dahil olmak ediyorum: django içinde url isimleri ters zaman
...
url(r'^api/v1/', include('my_api.api_urls', app_name="api", namespace='v1')),
url(r'^api/v1/', include('my_other_api.api_urls', app_name="api", namespace='v1')),
...
D'uh, Bunu zaten denedim, işe yaramıyor ... – Nuschk
Bunu denediniz mi: http://www.django-rest-framework.org/api-guide/versioning/# reversing-urls-için-sürüm-apis ?? 'rest_framework.reverse içe aktarma' işlevinin tersi işlevini kullanın. – v1k45
Hayır, bunu bilmiyordum. Denerim, teşekkürler. – Nuschk