Próbuję utworzyć backend z Django Rest Framework i próbuję ustalić, gdzie umieścić logikę biznesową. Czy obejrzałby plik views.py? Chciałbym tworzyć bardziej złożone usługi niż tylko uzyskiwanie listy obiektów lub chwytanie jednego konkretnego obiektu. Wszelkie wskazówki będą mile widziane, dziękuję. Zdaję sobie sprawę, że istnieje dyskusja na temat logiki biznesowej w ogólnym projekcie Django, ale ja pytam konkretnie o framework reszta django.Django Rest Framework Business Logic
12
A
Odpowiedz
10
Chodzi raczej o wzorce projektowe niż Django Rest Framework.
Oto kilka wskazówek:
- Zapewnienie interfejsów za pomocą reszta nie powinna pociągać za sobą żadnego konkretnego kodu związanego z manipulacją danych lub logiki biznesowej.
- Stosowanie podejścia MVC nie oznacza, że nie należy warstwować aplikacji.
- Powinieneś być w stanie przetestować swoją logikę biznesową bez dotykania interfejsu użytkownika w ogóle.
- Niektóre osoby mogą sugerować umieszczanie logiki biznesowej w modelach. Ale nie zgadzam się z nimi, ponieważ modele Django różnią się od modeli domenowych i zadań związanych z biznesem, takich jak obliczanie podatków.
- Zanim utkniesz w MVC, możesz przeczytać więcej o The MVC implemented in MVC three-tier architecture
- Proponuję, aby mieć warstwę biznesową i powiązane aplikacje umieszczające tam swoją logikę biznesową.
Załóżmy, że masz internetowego kawiarnia & którą chcesz zapewnić REST API do zamawiania kawy.
Oto moje sugerowane próbki kodu:
myapp/views.py:
def order(request, quantity=1):
# Process the order by calling the mapped method
order_id = CoffeeShopService.place_order(quantity)
return HttpResponse({'order_id': order_id, mimetype='application/json')
myapp/services.py:
class CoffeeShopService(object):
@staticmethod
def place_order(quantity):
# do the business logic here
return order_id
Powiązane problemy
- 1. EJB3 Business Logic Patterns & Practices
- 2. MVVM: ViewModel i Business Logic Connection
- 3. Django REST Framework + Django REST Swagger + ImageField
- 4. Django Rest Framework Dictionary Field
- 5. Django Rest Framework - odwrotne relacje
- 6. Django Rest Framework z ChoiceField
- 7. Django Rest Framework - APIView Pagination
- 8. Django REST framework: niemodalny serializator
- 9. Django REST Framework - CurrentUserDefault use
- 10. Pole aktualizacji Django Rest Framework
- 11. Integracja django-haystack z django-rest-framework?
- 12. Django Rest Framework/Wydajność wydajności Django
- 13. django-rest-framework + django-polimorficzna ModelSerialization
- 14. Lista filtrowaniaAPIView w django-rest-framework
- 15. Overide serializer.data w Django REST Framework
- 16. Używanie jsonp z django-rest-framework
- 17. Zwraca bieżącego użytkownika z Django Rest Framework
- 18. Django Rest Framework JWT Authentication Test
- 19. Django Rest Framework - Jak przetestować ViewSet?
- 20. Django Rest Framework, CSRF i Vue.js
- 21. django-rest-framework Token Auth i wylogowanie
- 22. Django REST Framework Tworzenie niestandardowego użytkownika
- 23. Django Rest Framework Routery z wieloma widokami
- 24. Django Rest Framework Zamawianie na SerializerMethodField
- 25. Django-REST framework restore_object Parametry attrs
- 26. Reprezentacja serializatora Django Rest Framework nie działa
- 27. Jak skonfigurować raw_id_fields w django-rest-framework?
- 28. Django Rest Framework - Wylogowanie z tokenu uwierzytelniającego
- 29. Django Rest Framework and Stripe, najlepsza praktyka?
- 30. Django REST Framework i stosunki generyczne
Jest już duża dyskusja na ten temat: http : //stackoverflow.com/questions/12578908/separation-of-business-logic-and-data-access-in-django – Spencer
Tak, spojrzałem na to, ale miałem nadzieję, że zapytam konkretnie o lokalizację w strukturze django rest – perp
Czy znalazłeś dobry wzór projektu dla tego? Dzięki – cyberjoac