Django: Projekt, das Daten aus der REST-API verwendet, Wie können Sie externe Apps in diesem System verwenden?

8

Ich habe ein Django-Web-Frontend, das Daten aus einem REST-API-Backend verwendet. Sogar die Benutzer werden im Backend erstellt und erstellt.

Mein Problem:

  • Wie können Sie Apps von Drittanbietern in diesem System verwenden, die stark von django models / ORM abhängen?
  • Gibt es etwas, das eine Brücke zwischen den Ressourcen REST API und dem ORM?
  • bieten kann?

Wie kann dieses Problem gelöst werden?

Aktualisieren

DRY Principal scheint in dieser Situation zu versagen.

    
Yugal Jindle 13.02.2012, 04:55
quelle

2 Antworten

0

Wahrscheinlich haben sich die Dinge geändert, seit diese Frage ursprünglich gestellt wurde. Jetzt gibt es ein paar interessante verwandte Fragen zu StackOverflow zu diesem Thema.

Um sich eine Lösung wie in in dieser Antwort beschrieben zu programmieren, können Sie eine externe Service-Schicht erstellen (aka services.py ) und schreibe dort die Logik für den Zugriff auf die externen Ressourcen. Ihre Ansichten werden diese Ebene konsumieren und die richtigen Aktionen ausführen. Es gibt weitere Fragen, die helfen, Informationen von der ursprünglichen Anfrage, die von der django-view empfangen wird, an den externen Dienst weiterzuleiten, z. B. dies oder das

Es gibt auch eine Django-App, die diese Situation berücksichtigt in dieser Antwort . django-roa verwendet die Ressourcenorientierte Architektur Paradigma, um dies zu lösen.

    
Francisco Puga 15.06.2017 14:19
quelle
-2

Ich stehe einem ähnlichen Hindernis mit einem neuen E-Commerce-Projekt gegenüber. Das Projekt ist ein Frontend für eine vollwertige Shop-Management-Software (CMS + ERP + CRM). Es muss die Master-Produktdatenbank verwenden, hat jedoch eigene Einträge für Produktbewertungen, Bewertungen usw.

Der ursprüngliche Gedanke war, eine zwischengespeicherte Kopie der Master-Datenbank zu erstellen. Die Website profitiert von schnellen Ladezeiten für die zwischengespeicherten Elemente, aber die Implementierung ist nicht trivial.

Nach einigen Überlegungen wurde der DB der Website aus dem Management-Programm aktualisiert. Auf diese Weise wird die Kopie der Website immer korrekt sein, und die meiste Implementierung muss sich nicht um REST-Dienste kümmern (sie wird immer noch für Benutzerregistrierung, Sendungsverfolgung usw. verwendet).

In Ihrem Fall, in dem der Service Ihre Datenbank nicht aus der Ferne aktualisieren kann, müssen Sie einen Mechanismus entwickeln, mit dem Sie auf REST-Ressourcen wie normale Modelle verweisen können und diese im Hintergrund zwischenspeichern / p>

Wichtiger Hinweis: Suchen Sie nach einer Möglichkeit, um sicherzustellen, dass der Cache immer korrekt ist (nicht verschmutzt) ...

    
Dor 26.02.2012 06:52
quelle

Tags und Links