Python django - wystawianie danych z db

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?

3

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

mozesz tez uzyc klasy JsonResponse

>>> 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()

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

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ł.

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1