Python django - wystawianie danych z db

Python django - wystawianie danych z db
O5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Cześć!
Mam stronę opartą na django, gdzie można się zarejestrować, logować, dodawać posty, robić ich update itp. Chciałbym w jakiś sposób wystawiać dane do pobrania w JSON-ie, ale nie wiem za bardzo jak się do tego zabrać.
Poratuje ktoś jakimś dobrym pomysłem?

DJ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 35
3

Mozesz uzyc do tego na przyklad Django Rest Frameworka on ma sporo fajnych mechanizmow do zwracania Jsonow :)

mozesz tez uzyc klasy JsonResponse

Kopiuj
>>> from django.http import JsonResponse
>>> response = JsonResponse({'foo': 'bar'})
>>> response.content

lub zwrocic dane w zwykylm response pod jakim kluczem ale wczesniej przygoowac slownik z danymi i zrobic json.dumps()

grski
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 245
2

Jeśli chcesz zrobić sztampowe REST API z jsonem to zdecydowanie DRF.
Dla standardowych przypadków robisz nic innego jak:

  1. tworzysz model serializer: https://www.django-rest-framework.org/api-guide/serializers/#modelserializer - na podstawie twojego modelu z bazy wygeneruje ci wszystko
  2. generic viewset w którym podajesz ten swój serializer - on ci wygeneruje widoki do odczytu, zapisu, tworzenia nowych obiektów: https://www.django-rest-framework.org/api-guide/viewsets/#modelviewset albo jeśli chcesz tylko wyświetlać to np. https://www.django-rest-framework.org/api-guide/generic-views/#listmodelmixin - list model mixin
  3. tworzysz prosty router, którego dodajesz do urlpatterns - https://www.django-rest-framework.org/api-guide/routers/

bum, gotowe

rozacek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 40
1

Pytasz dość ogólnie :)
Jeżeli przewidujesz, że aplikacja będzie się rozrastać to myślę, że prędzej czy później będziesz potrzebował zaznajomić się z Django Rest Frameworkiem: Tutorial

Mnie kiedyś troszkę pomogła na początku ta "pogadanka": z PyWaw

Jeśli jednak potrzebujesz tylko raz w życiu zwrócić JSON-a :) to kolega wyżej zapodał pomysł.

O5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

O takie naprowadzenie mi chodziło. Dzięki wielkie za pomoc ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.