Heim Backend-Entwicklung Python-Tutorial SPA-Beispiel erstellt mit Django und Vue.js

SPA-Beispiel erstellt mit Django und Vue.js

Jun 18, 2023 pm 07:27 PM
spa django vuejs

SPA (Single Page Application) hat sich in den letzten Jahren zu einem beliebten Modell der Webentwicklung entwickelt. Im Vergleich zu herkömmlichen mehrseitigen Anwendungen ist SPA schneller und reibungsloser und außerdem benutzerfreundlicher und bequemer für Entwickler. In diesem Artikel wird ein auf Django und Vue.js basierendes SPA-Beispiel vorgestellt, in der Hoffnung, Ihnen einige Referenzen und Inspirationen zu liefern.

Django ist ein bekanntes Python-Webframework mit leistungsstarken Back-End-Entwicklungsfunktionen. Vue.js ist ein leichtes JavaScript-Frontend-Framework, das Entwicklern dabei helfen kann, schnell UI-Interaktionen zu erstellen und gleichzeitig Leistungsprobleme zu vermeiden, die durch DOM-Vorgänge verursacht werden. Durch die Kombination dieser beiden Frameworks können wir eine leistungsstarke und benutzerfreundliche SPA-Anwendung erstellen.

Werfen wir einen Blick auf den konkreten Umsetzungsprozess.

Schritt 1: Django-Backend erstellen

Zuerst müssen wir ein Backend-Projekt mit Django erstellen. Sie können Djangos eigenes Befehlszeilentool verwenden, um ein neues Projekt zu erstellen, z. B.:

$ django-admin startproject myproject
Nach dem Login kopieren

Anschließend können wir die Modelldefinitionsfunktion von Django verwenden, um die benötigte Datenstruktur zu definieren. Wenn wir beispielsweise eine Blog-Anwendung entwickeln möchten, können wir eine Anwendung namens „Blog“ erstellen und ein Modell namens „Post“ definieren:

# blog/models.py
from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)
Nach dem Login kopieren

Dieses Modell stellt einen Blog-Beitrag dar, einschließlich der drei Felder Titel, Inhalt und Veröffentlichungsdatum.

Wir müssen außerdem eine RESTful-API-Schnittstelle für dieses Modell erstellen, um Front-End-Aufrufe zu erleichtern. Sie können das DRF-Plugin (Django Rest Framework) von Django verwenden, um eine standardmäßige RESTful-Ansicht zu erstellen:

# blog/views.py
from rest_framework import generics
from .models import Post
from .serializers import PostSerializer

class PostList(generics.ListCreateAPIView):
    queryset = Post.objects.all()
    serializer_class = PostSerializer

class PostDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = Post.objects.all()
    serializer_class = PostSerializer
Nach dem Login kopieren

Hier haben wir zwei Ansichten erstellt, eine ist eine PostList-Ansicht, um eine Liste aller Artikel anzuzeigen, und die andere dient der Anzeige der Details eines einzelnen Artikels PostDetail-Ansicht. Beachten Sie, dass wir hier eine Datei mit dem Namen „serializers.py“ eingeführt haben, die den Serialisierer des von uns definierten Post-Modells enthält, das zum Konvertieren von Modellinstanzen in das JSON-Format verwendet wird.

Schritt 2: Erstellen Sie das Vue.js-Frontend

Sobald das Backend vorhanden ist, können wir mit dem Aufbau des Frontends beginnen. Wir erstellen ein neues Vue.js-Projekt und fügen einige notwendige Abhängigkeiten hinzu:

$ vue init webpack myapp
$ cd myapp
$ npm install --save axios vue-router vuex
Nach dem Login kopieren

Hier verwenden wir Vue Router und Vuex, Vue Router wird für die Routing-Verwaltung und Vuex für die Zustandsverwaltung verwendet.

Als nächstes erstellen wir eine neue „Post“-Komponente zur Anzeige der Artikelliste. Sie können im Verzeichnis „components“ eine Datei mit dem Namen „PostList.vue“ erstellen:

<!-- PostList.vue -->
<template>
  <div>
    <div v-for="post in posts" :key="post.id">
      <h3>{{ post.title }}</h3>
      <p>{{ post.content }}</p>
    </div>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      posts: [],
    };
  },
  created() {
    axios
      .get('/api/posts/')
      .then(response => {
        this.posts = response.data;
      })
      .catch(error => {
        console.log(error);
      });
  },
};
</script>
Nach dem Login kopieren

Dieser Code stellt die Anzeige der Artikelliste dar und ruft Daten von der Back-End-API über Axios ab.

Als nächstes müssen wir Routing-Regeln festlegen, damit Benutzer auf die Komponente zugreifen können. Routing-Regeln können in der Datei „index.js“ im Verzeichnis „router“ hinzugefügt werden:

import Vue from 'vue';
import Router from 'vue-router';
import PostList from '@/components/PostList';

Vue.use(Router);

export default new Router({
  routes: [
    {
      path: '/',
      name: 'PostList',
      component: PostList,
    },
  ],
});
Nach dem Login kopieren

Hier ordnen wir den Pfad „/“ unserer Komponente „PostList“ zu.

Schritt 3: Verwenden Sie Vuex für die Zustandsverwaltung

Die letzte Funktion, die implementiert werden muss, ist die Zustandsverwaltung. Wir müssen die von der Backend-API erhaltenen Daten in Vuex speichern und bei Bedarf anzeigen. Dazu müssen wir zunächst einen Vuex-Store erstellen:

// store.js
import Vue from 'vue';
import Vuex from 'vuex';
import axios from 'axios';

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    posts: [],
  },
  mutations: {
    SET_POSTS(state, posts) {
      state.posts = posts;
    },
  },
  actions: {
    fetchPosts({ commit }) {
      return axios.get('/api/posts/').then(({ data }) => {
        commit('SET_POSTS', data);
      });
    },
  },
});
Nach dem Login kopieren

Hier erstellen wir eine Statuseigenschaft namens „posts“ und definieren die Operation „SET_POSTS“, um die Eigenschaft zu aktualisieren.

Als nächstes müssen wir die PostList-Komponente zur Datenerfassung und Statusaktualisierungen mit dem Vuex-Speicher verbinden:

<!-- PostList.vue -->
<template>
  <div>
    <div v-for="post in posts" :key="post.id">
      <h3>{{ post.title }}</h3>
      <p>{{ post.content }}</p>
    </div>
  </div>
</template>

<script>
import { mapState, mapActions } from 'vuex';

export default {
  computed: mapState(['posts']),
  created() {
    this.fetchPosts();
  },
  methods: mapActions(['fetchPosts']),
};
</script>
Nach dem Login kopieren

Hier verwenden wir die von Vuex bereitgestellten Hilfsfunktionen „mapState“ und „mapActions“, um den Vuex-Status und -Vorgänge der Komponente zuzuordnen Mitte. Wenn die Komponente erstellt wird, erhalten wir Daten von der API und aktualisieren den Status über die Methode „fetchPosts“.

Zu diesem Zeitpunkt haben wir die Integration von Django und Vue.js abgeschlossen und eine vollständige SPA-Anwendung erstellt. Führen Sie die Anwendung aus und greifen Sie auf den Pfad „/“ zu, um den Anzeigeeffekt der Artikelliste zu sehen.

Zusammenfassung

Dieser Artikel stellt den Prozess zum Erstellen einer SPA-Anwendung mit Django und Vue.js vor. Im Vergleich zu herkömmlichen mehrseitigen Anwendungen bietet SPA ein besseres Benutzererlebnis und ist einfacher zu warten und zu entwickeln. Ich hoffe, dieses Beispiel kann Ihnen als Referenz und Inspiration dienen und wünsche Ihnen, dass Sie auf dem Weg zur Webentwicklung immer weiter vorankommen!

Das obige ist der detaillierte Inhalt vonSPA-Beispiel erstellt mit Django und Vue.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So überprüfen Sie die Django-Version So überprüfen Sie die Django-Version Dec 01, 2023 pm 02:25 PM

Schritte zum Überprüfen der Django-Version: 1. Öffnen Sie ein Terminal- oder Eingabeaufforderungsfenster. 2. Stellen Sie sicher, dass Django nicht installiert ist, können Sie es mit dem Paketverwaltungstool installieren und den Befehl pip install django eingeben. 3. Nachdem die Installation abgeschlossen ist, können Sie python -m django --version verwenden, um die Django-Version zu überprüfen.

Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Jan 19, 2024 am 08:36 AM

Django und Flask sind beide führend bei Python-Web-Frameworks und haben beide ihre eigenen Vorteile und anwendbaren Szenarien. In diesem Artikel wird eine vergleichende Analyse dieser beiden Frameworks durchgeführt und spezifische Codebeispiele bereitgestellt. Entwicklungseinführung Django ist ein Web-Framework mit vollem Funktionsumfang, dessen Hauptzweck darin besteht, schnell komplexe Webanwendungen zu entwickeln. Django bietet viele integrierte Funktionen wie ORM (Object Relational Mapping), Formulare, Authentifizierung, Verwaltungs-Backend usw. Diese Funktionen ermöglichen es Django, große Mengen zu verarbeiten

Vor- und Nachteile des Django Framework: Alles, was Sie wissen müssen Vor- und Nachteile des Django Framework: Alles, was Sie wissen müssen Jan 19, 2024 am 09:09 AM

Django ist ein vollständiges Entwicklungsframework, das alle Aspekte des Webentwicklungslebenszyklus abdeckt. Derzeit ist dieses Framework eines der beliebtesten Web-Frameworks weltweit. Wenn Sie vorhaben, mit Django Ihre eigenen Webanwendungen zu erstellen, müssen Sie die Vor- und Nachteile des Django-Frameworks verstehen. Hier finden Sie alles, was Sie wissen müssen, einschließlich spezifischer Codebeispiele. Vorteile von Django: 1. Schnelle Entwicklung – Djang kann Webanwendungen schnell entwickeln. Es bietet eine umfangreiche Bibliothek und interne

So aktualisieren Sie die Django-Version: Schritte und Überlegungen So aktualisieren Sie die Django-Version: Schritte und Überlegungen Jan 19, 2024 am 10:16 AM

So aktualisieren Sie die Django-Version: Schritte und Überlegungen, spezifische Codebeispiele erforderlich. Einführung: Django ist ein leistungsstarkes Python-Web-Framework, das kontinuierlich aktualisiert und aktualisiert wird, um eine bessere Leistung und mehr Funktionen bereitzustellen. Für Entwickler, die ältere Versionen von Django verwenden, kann die Aktualisierung von Django jedoch einige Herausforderungen mit sich bringen. In diesem Artikel werden die Schritte und Vorsichtsmaßnahmen zum Aktualisieren der Django-Version vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Sichern Sie die Projektdateien, bevor Sie Djan aktualisieren

Was ist der Unterschied zwischen Django-Versionen? Was ist der Unterschied zwischen Django-Versionen? Nov 20, 2023 pm 04:33 PM

Die Unterschiede sind: 1. Django 1.x-Serie: Dies ist eine frühe Version von Django, einschließlich der Versionen 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8 und 1.9. Diese Versionen bieten hauptsächlich grundlegende Webentwicklungsfunktionen. 2. Django 2.x-Serie: Dies ist die Zwischenversion von Django, einschließlich 2.0, 2.1, 2.2 und anderen Versionen. 3. Django 3.x-Serie: Dies ist die neueste Version Serie von Django. Einschließlich der Versionen 3.0, 3 usw.

So überprüfen Sie die Django-Version So überprüfen Sie die Django-Version Nov 30, 2023 pm 03:08 PM

So überprüfen Sie die Django-Version: 1. Um die Django-Version zu überprüfen, geben Sie den Befehl „python -m django --version“ im Terminal- oder Befehlszeilenfenster ein. 2. Um in der interaktiven Python-Umgebung zu überprüfen, geben Sie „import django“ ein print(django. get_version())“-Code; 3. Überprüfen Sie die Einstellungsdatei des Django-Projekts und finden Sie eine Liste mit dem Namen INSTALLED_APPS, die Informationen zur installierten Anwendung enthält.

Ist Django Front-End oder Back-End? Ist Django Front-End oder Back-End? Nov 21, 2023 pm 02:36 PM

Django ist das Backend. Details: Obwohl Django in erster Linie ein Backend-Framework ist, ist es eng mit der Frontend-Entwicklung verbunden. Durch Funktionen wie die Template-Engine von Django, die statische Dateiverwaltung und die RESTful-API können Front-End-Entwickler mit Back-End-Entwicklern zusammenarbeiten, um leistungsstarke, skalierbare Webanwendungen zu erstellen.

Django, Flask und FastAPI: Welches Framework ist das richtige für Anfänger? Django, Flask und FastAPI: Welches Framework ist das richtige für Anfänger? Sep 27, 2023 pm 09:06 PM

Django, Flask und FastAPI: Welches Framework ist das richtige für Anfänger? Einführung: Im Bereich der Webanwendungsentwicklung stehen viele hervorragende Python-Frameworks zur Auswahl. Dieser Artikel konzentriert sich auf die drei beliebtesten Frameworks: Django, Flask und FastAPI. Wir werden ihre Funktionen bewerten und besprechen, welches Framework für Anfänger am besten geeignet ist. Gleichzeitig stellen wir einige spezifische Codebeispiele bereit, um Anfängern ein besseres Verständnis dieser Frameworks zu erleichtern. 1. Django: Django

See all articles