Ember uygulaması için RESTful API sağlayan web uygulaması arka planı oluşturmak için Django kullanıyoruz.Django REST Framework - çoklu modeller/API'ler?
Yani (evrimsel) aşağıdaki basit yapıda başladı:
project root
|
|-app1/models.py .... no views.py
|
|-app2/models.py .... no views.py
|
|-app3/models.py .... no views.py
|
\- restapi - provides REST API for app*: huge views.py, huge serializers.py, huge test.py
Bu özellikle DRF en göz atılabilir görüntüsü, kullanımı kolaydır:
@api_view(['GET'])
def api_root(request, format=None):
return Response(
{
'users': reverse('current-user-detail', request=request),
'interfacesettings': reverse('interface-settings', request=request),
............................................................
'preferences': reverse('preferences', request=request),
}
)
Kısaca biz var yeterince modelleri/Bizim restapi.app yolu çok karmaşık ve dağınık hale getirmek için API'lar ve daha mantıklı bir şey kullanmayı düşünmeye başladık:
project root
|
|-app1/models.py .... views.py, serializers.py, tests.py
|
|-app2/models.py .... views.py, serializers.py, tests.py
|
|-app3/models.py .... views.py, serializers.py, tests.py
|
\- we do not need rest api anymore (but where will we put our api_root?)
Diğer tarafta, şimdi tek bir yerde tüm karmaşık testler (birkaç model içerir) uygun bir yere sahibiz. Diziselleştiricilerin işlevlerini tekrar kullanırız. Ve bir tane api_root var.
project root
|
|-app1/models.py .... views.py (app1 API), serializers.py, tests.py
|
|-app2/models.py .... views.py (app2 API), serializers.py, tests.py
|
|-app3/models.py .... views.py (app3 API), serializers.py, tests.py
|
\- restapi - views.py (api_root), tests.py for complicated tests and serializers.py for common functions
yaklaşım daha iyidir: Yani muhtemelen böyle bir şey olabilir? Ve burada ortak en iyi uygulamalar nelerdir? Bakabileceğimiz açık bir proje var mı?