2016-07-14 3 views
4

Ich möchte das Django REST Framework arbeiten mit Web-Sockets und stieß auf Django-Kanäle. Kann ich Kanäle über das REST Framework hinaus erstellen?Machen Sie Django REST-Framework und Django-Kanäle spielen gut

Ich lese here, dass es WIP ist, aber ich frage mich, ob es eine einfache "leichte" Möglichkeit gibt, die beiden zusammen zu binden. Jeder Rat wird geschätzt, ich bin immer noch ziemlich neu in Django.

Antwort

3

Hängt davon ab, was Sie tun möchten Wenn Sie API in Echtzeit erstellen möchten, ist das momentan nicht möglich.

Incase Serialisierung Nachrichten auf Django, gibt es ein Projekt https://github.com/linuxlewis/channels-api.

+0

Bietet ein gutes Beispiel - es ist bedauerlich, dass es noch keine eingebauten Berechtigungsfunktionen gibt. –

2

Roy van der Valk - hatten Sie bisher Glück?

Ich hatte Erfolg, unsere Plattform zu starten, die traditionelle Django-Ansichten, Django-Rest-Framework-Ansichten und Kanäle "Konsumenten" verwendet.

Es gibt eine guncorn/wsgi Ersatz namens Daphne - es wird die Anfrage selbst (wo auch immer http/websocket etc ..) zu seiner richtigen Antwort Handler abschwächen. Es verwendet einen separaten Anforderungshandler namens - asgi.

Der Trick bestand darin, die Django-Anwendungslevel-URLs zu erstellen, um den 'http.request'-Kanal an die korrekte URL-Konfiguration zu senden, die unsere traditionellen Django- und Django-Rest-Framework-Ansichten behandelte.

Der Rest der Asgi-Kanäle hatte "Ansichten" oder Kanäle erstellt, um sie angemessen zu behandeln.

Lassen Sie mich wissen, ob dies ausreicht, um Sie in die richtige Richtung zu bewegen. Ich kann Ihnen Links/Details zur Verfügung stellen, wenn Sie mir spezifische Probleme mitteilen.

+1

Danke @Richael - Ich hatte es für einen Moment beiseite gelegt, aber das weckt mein Interesse, es wieder aufzunehmen! –

+0

@Richael. Ich würde gerne wissen. Was hast du getan? Ich muss einen Chat starten, der durch api kommuniziert. mit Rest-Rahmen und einfachen Django. aber die zwei Projekte sind auf getrennten Instanzen. Was ist der Ansatz, den ich brauche? Kanäle im Web django aufnehmen oder auf der API einbinden? – Darwin

Verwandte Themen