Heim > Web-Frontend > CSS-Tutorial > Mit Django und Vue.js eine Webanwendung auf IRIS erstellen: Ein Blick in das Django-Framework

Mit Django und Vue.js eine Webanwendung auf IRIS erstellen: Ein Blick in das Django-Framework

Susan Sarandon
Freigeben: 2024-11-28 10:52:16
Original
592 Leute haben es durchsucht

Using Django and Vue.js to create a web application on IRIS: Peeking into the Django framework

Ich wollte schon lange das Django-Framework erlernen, aber ein anderes, dringlicheres Projekt hatte immer Vorrang. Wie viele Entwickler verwende ich Python, wenn es um maschinelles Lernen geht, aber als ich zum ersten Mal Webprogrammierung lernte, genoss PHP noch die Vorrangstellung, und so war es für mich an der Zeit, ein neues kompliziertes Framework zum Erstellen von Webanwendungen zu erwerben, um meine Maschine zu veröffentlichen Lernarbeit, ich wandte mich immer noch PHP zu. Seit einiger Zeit verwende ich zum Erstellen meiner Websites ein Framework namens Laravel, und dieses PHP-Framework führte mich in das moderne Model-View-Controller-Muster der Webprogrammierung ein. Um die Sache noch komplizierter zu machen, baue ich meine Frontends gerne mit einem modernen Javascript-Framework auf. Am besten kenne ich mich mit Vue.js aus, deshalb bin ich bei diesem Projekt dabei geblieben, auch wenn man häufiger von Leuten hört, die React verwenden.

Warum überhaupt ein kompliziertes Framework verwenden? Was sind die größten Herausforderungen beim Erlernen eines Frameworks wie Django, Laravel, React oder Vue?

Jeder hat seine eigene Antwort, aber ich liebe MVC-Frameworks, weil sie so viel Anleitung zur Strukturierung Ihrer App bieten. Es verhindert, dass ich das Rad jedes Mal neu erfinden muss. Auf den ersten Blick können diese Frameworks einengend und kryptisch wirken, aber sobald ich mich mit der Struktur vertraut gemacht habe, fällt es mir leichter, neue Funktionen hinzuzufügen.

Die Herausforderung besteht darin, dass die Dinge fast zu einfach werden können. Frameworks wie Django basieren auf vielen Abkürzungen oder Annahmen, die möglicherweise auf einem vertrauten Konzept basieren, in Django jedoch einen bestimmten, unbekannten Namen und eine unbekannte Struktur haben. In meiner Anwendung kümmert sich Django um die APIs und das gesamte Webrouting. Wenn ich einen neuen API-Endpunkt hinzufügen möchte, muss ich einer Datei in meiner Datei „views.py“ eine Funktion hinzufügen, dann zur Datei „urls.py“ gehen und eine Anweisung zum Importieren dieser Funktion sowie eine weitere Anweisung zum Definieren der URL hinzufügen, in der sich diese befindet API-Endpunkt ist verfügbar. Danach muss ich meine Front-End-Vue-Komponente so bearbeiten, dass sie mithilfe von Javascript diesen Endpunkt abfragt, um Daten abzurufen und sie dem Benutzer anzuzeigen oder zu bearbeiten. 

Sobald mein Projekt eingerichtet ist, ist das Hinzufügen solcher Funktionen schnell erledigt. Ich muss nur etwa vier Codezeilen hinzufügen und kann mich dann auf die Logik konzentrieren, die in meiner neuen Funktion in der Datei „views.py“ erforderlich ist, um die HTTP-Anfrage zu verarbeiten und die erforderlichen Daten im JSON-Format zurückzugeben. Die Herausforderung besteht darin, zu lernen, was diese Dateien sind und wie sie zusammenarbeiten, um eine ganze Anwendung zu erstellen.

Ich finde, der beste Weg, ein Framework wie Django zu erlernen, besteht darin, ein funktionierendes Beispiel zu finden und zu versuchen, kleine Änderungen vorzunehmen, um ein Gefühl für den Datenfluss zu bekommen. Lesen Sie die Dokumentation, wenn die Konzepte klarer und sinnvoller werden. Bitten Sie KI-Modelle, Codeteile und die Funktion der verschiedenen Standarddateien in einem Framework zu erklären. Es dauert nicht lange, bis man erkennt, dass diese Tools auf lange Sicht eine Möglichkeit sind, Zeit zu sparen und die Wartung und Aktualisierung Ihrer Anwendung zu vereinfachen. Da die Django- und Vue-Frameworks eine Standardstruktur haben, ist es bei späterer Betrachtung leichter zu verstehen, warum Sie Dinge auf eine bestimmte Art und Weise codiert haben, und es ist einfacher, die Vertrautheit mit Ihrer Arbeit wiederherzustellen. Es ist auch einfacher, die Anwendung einer anderen Person in die Hand zu nehmen und die Kernfunktionalität zu verstehen, da Sie mit der Grundstruktur der Anwendung dieser Person vertraut sind. 

Was sind also einige Grundlagen von Django, die jemandem den Einstieg erleichtern würden? Für mich ist das erste, was ich verstehen muss, dass Django-Projekte generiert werden, indem ein Befehl zum Erstellen eines neuen Django-Projekts ausgeführt wird. Dadurch wird eine Reihe grundlegender Dateien und Ordner generiert, die ein „Basisprojekt“ bilden, mit dem Sie mit der Erstellung beginnen können. Der Projektordner enthält mehrere Python-Dateien mit Einstellungen, die für das gesamte Projekt gelten. Die wichtigsten, die Sie häufig besuchen werden, sind „settings.py“, in der sich alle Ihre Einstellungen befinden, und „urls.py“. Wenn Sie eine Frage wie „Wie entscheidet Django, wo meine statischen Dateien abgelegt werden sollen“ haben, befindet sich die Antwort normalerweise irgendwo in der Datei „settings.py“. Wenn Sie Ihrer Anwendung eine neue URL hinzufügen möchten, müssen Sie die Datei urls.py aktualisieren. 

Zusammen mit diesen Dateien auf Projektebene erstellen Sie dann einen Ordner für jede App in Ihrem Projekt. Diese Apps müssen dann in der Datei „settings.py“ registriert, also benannt werden. Der Haupt-App-Ordner in meinem Projekt heißt „Dokumente“. In diesem Ordner befinden sich eine models.py-Datei, eine serializer.py-Datei und eine view.py-Datei. Es gibt noch andere, aber das sind die drei wichtigen.

In models.py spezifiziere ich mein Document-Objekt und die darin enthaltenen Felder. Django übernimmt für mich die Arbeit, eine Dokumententabelle in der IRIS-Datenbank mit dem Schema zu erstellen, das zum Speichern der Informationen erforderlich ist, die ich in den Dokumentobjekten speichern möchte. In meiner models.py-Datei sage ich, dass alle meine Dokumente einen Namen haben, der eine Zeichenfolge mit maximal 255 Zeichen ist, ein Inhaltsfeld, das nur aus einer großen Textmenge besteht, sowie einen Datenbanknamen, in dem die Vektoren gespeichert sind werden gespeichert (ein anderes Textfeld), der Einbettungstyp (ein anderes Textfeld) und schließlich die Vektoreinbettungsdimension, bei der es sich um eine Zahl handelt. Anhand dieser Definitionen erstellt Django die erforderliche Datenbanktabelle mit den erforderlichen Spaltentypen. Das Speichern von Objekten in der Datenbank ist dann so einfach wie Document.save().

In der Datei serializer.py befindet sich lediglich eine Definition, wie Sie Ihr Objekt in JSON konvertieren und umgekehrt. Für grundlegende Anwendungsfälle gibt es eine Standardmethode zur Definition, die Sie in diesem Projekt sehen können.

Jetzt kommen wir zum Punkt Django, der Datei „views.py“. Hier definieren wir die Funktionen, die HTTP-Anfragen akzeptieren und Daten wie eine vollständige HTTP-Antwort oder eine JSON-Antwort im Fall einer JSON-API zurückgeben. Das bedeutet, dass Django eine ganze Webseite bereitstellen und auch das Front-End Ihrer App sein kann, oder es kann nur JSON-Daten bereitstellen und Sie können Ihr Front-End auf einer völlig anderen Plattform erstellen.

Auf den ersten Blick kann sich die Verwendung all dieser scheinbar willkürlichen Dateien und Konventionen wie eine lästige Pflicht anfühlen, aber wenn Sie erst einmal sehen, dass Ihre Anwendung dadurch einfach anfängt zu funktionieren, HTTP-Anfragen zu verarbeiten und als Antwort die richtigen Daten bereitzustellen, kann sie das tun Es macht sehr viel Spaß, weiterhin neue Funktionen und Fähigkeiten zu entwickeln. Sobald Sie ein Objekt, eine Webroute und eine Funktion zur Verarbeitung einer HTTP-Anfrage definiert haben, wird Ihnen klar, wie einfach Sie ein zweites und drittes definieren können, um Ihrer Anwendung Funktionalität hinzuzufügen.

Ich habe mein Projekt aus der Iris-Django-Vorlage erstellt, die @guillaume.Rongier7183 hier auf Github erstellt hat: https://github.com/grongierisc/iris-django-template

Diese Vorlage enthält nur Django und war äußerst hilfreich beim Erlernen des Django-Frameworks. Eine der wichtigsten Ergänzungen, die ich vorgenommen habe, war das Hinzufügen von Vue.js mit Tailwind CSS, um zu zeigen, dass Sie ein modernes Javascript-Framework in dieses Paket integrieren und eine Single Page Application auf IRIS ausführen können. Eine Single Page Application ist eine Javascript-Anwendung, die XHR-Anfragen zum Abrufen von JSON-Daten sendet und die Seite dynamisch aktualisiert, ohne sie jemals vollständig neu zu laden. Es hat seine Vor- und Nachteile, ist aber ein Markenzeichen der modernen Webentwicklung.

Ich ermutige die Leute, mein Projekt nicht nur als Beispiel für RAG- und Vector Stores auf IRIS zu betrachten, sondern auch als Vorlage für die Verwendung von Django mit Vue.js und Tailwind, um darauf einfach und schnell moderne, flexible Webanwendungen zu erstellen IRIS. Dieses Repository finden Sie hier auf Github: https://github.com/mindfulcoder49/iris-django-template

Gerne beantworte ich alle Fragen oder gebe Ihnen einen Einblick in alle Probleme, auf die jemand stoßen könnte, wenn er versucht, dieses Projekt für den eigenen Gebrauch anzupassen.

Das obige ist der detaillierte Inhalt vonMit Django und Vue.js eine Webanwendung auf IRIS erstellen: Ein Blick in das Django-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage