Rumah pembangunan bahagian belakang Tutorial Python Contoh SPA dibina dengan Django dan Vue.js

Contoh SPA dibina dengan Django dan Vue.js

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

Dalam beberapa tahun kebelakangan ini, SPA (Aplikasi Halaman Tunggal) telah menjadi model pembangunan web yang popular. Berbanding dengan aplikasi berbilang halaman tradisional, SPA lebih pantas dan lancar, dan ia juga lebih mesra dan mudah untuk pembangun. Artikel ini akan berkongsi contoh SPA yang dibina berdasarkan Django dan Vue.js, dengan harapan dapat memberi anda sedikit rujukan dan inspirasi.

Django ialah rangka kerja Web Python yang terkenal dengan keupayaan pembangunan bahagian belakang yang berkuasa. Vue.js ialah rangka kerja bahagian hadapan JavaScript ringan yang boleh membantu pembangun membina interaksi UI dengan cepat sambil mengelakkan masalah prestasi yang disebabkan oleh operasi DOM. Menggabungkan kedua-dua rangka kerja ini, kami boleh membina aplikasi SPA yang berkuasa dan mesra pengguna.

Mari kita lihat proses pelaksanaan khusus.

Langkah 1: Bina bahagian belakang Django

Pertama, kita perlu mencipta projek bahagian belakang menggunakan Django. Anda boleh menggunakan alat baris arahan Django sendiri untuk mencipta projek baharu, seperti:

$ django-admin startproject myproject
Salin selepas log masuk

Kemudian, kita boleh menggunakan fungsi definisi model Django untuk mentakrifkan struktur data yang kita perlukan. Sebagai contoh, jika kita ingin membangunkan aplikasi blog, kita boleh membuat aplikasi bernama "Blog" dan menentukan model bernama "Post":

# 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)
Salin selepas log masuk

Model ini mewakili catatan blog, termasuk tajuk , kandungan dan tarikh keluaran tiga medan.

Kami juga perlu mencipta antara muka API RESTful untuk model ini bagi memudahkan panggilan hadapan. Anda boleh menggunakan pemalam DRF (Django Rest Framework) Django untuk mencipta paparan RESTful standard:

# 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
Salin selepas log masuk

Di sini kami telah mencipta dua paparan, satu ialah paparan PostList untuk memaparkan senarai semua artikel dan satu lagi adalah untuk memaparkan paparan PostDetail bagi butiran artikel tunggal. Ambil perhatian bahawa di sini kami telah memperkenalkan fail bernama "serializers.py", yang mengandungi serializer model Post yang kami takrifkan, yang digunakan untuk menukar contoh model kepada format JSON.

Langkah 2: Bina bahagian hadapan Vue.js

Dengan bahagian belakang dipasang, kita boleh mula membina bahagian hadapan. Kami mencipta projek Vue.js baharu dan menambah beberapa kebergantungan yang diperlukan:

$ vue init webpack myapp
$ cd myapp
$ npm install --save axios vue-router vuex
Salin selepas log masuk

Di sini kami menggunakan Vue Router dan Vuex, Vue Router digunakan untuk pengurusan penghalaan dan Vuex digunakan untuk pengurusan negeri.

Seterusnya, kami mencipta komponen "Siaran" baharu untuk memaparkan senarai artikel. Anda boleh mencipta fail bernama "PostList.vue" dalam direktori "komponen":

<!-- 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>
Salin selepas log masuk

Kod ini mewakili paparan senarai artikel dan mendapatkan data daripada API bahagian belakang melalui Axios.

Seterusnya, kita perlu menetapkan peraturan penghalaan supaya pengguna boleh mengakses komponen tersebut. Peraturan penghalaan boleh ditambah dalam fail "index.js" di bawah direktori "router":

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,
    },
  ],
});
Salin selepas log masuk

Di sini kami memetakan laluan "/" ke komponen "PostList" kami.

Langkah 3: Gunakan Vuex untuk pengurusan negeri

Fungsi terakhir yang perlu dilaksanakan ialah pengurusan negeri. Kami perlu menyimpan data yang diperoleh daripada API bahagian belakang ke dalam Vuex dan memaparkannya apabila diperlukan. Untuk melakukan ini, kita perlu membuat kedai Vuex terlebih dahulu:

// 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);
      });
    },
  },
});
Salin selepas log masuk

Di sini kita mencipta sifat negeri yang dipanggil "siaran" dan mentakrifkan operasi "SET_POSTS" untuk mengemas kini harta tersebut.

Seterusnya, kami perlu menyambungkan komponen PostList ke gedung Vuex untuk pemerolehan data dan kemas kini status:

<!-- 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>
Salin selepas log masuk

Di sini kami menggunakan fungsi tambahan "mapState" dan "mapActions" yang disediakan oleh Vuex untuk Petakan keadaan dan tindakan Vuex ke dalam komponen. Apabila komponen dibuat, kami mendapat data daripada API dan mengemas kini keadaan melalui kaedah "fetchPosts".

Pada ketika ini, kami telah menyelesaikan penyepaduan Django dan Vue.js dan membina aplikasi SPA yang lengkap. Jalankan aplikasi dan akses laluan "/" untuk melihat kesan paparan senarai artikel.

Ringkasan

Artikel ini memperkenalkan proses cara menggunakan Django dan Vue.js untuk membina aplikasi SPA. Berbanding dengan aplikasi berbilang halaman tradisional, SPA boleh memberikan pengalaman pengguna yang lebih baik dan lebih mudah untuk diselenggara dan dibangunkan. Saya harap contoh ini dapat memberi anda sedikit rujukan dan inspirasi, dan saya berharap anda pergi lebih jauh dalam pembangunan web!

Atas ialah kandungan terperinci Contoh SPA dibina dengan Django dan Vue.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1669
14
Tutorial PHP
1273
29
Tutorial C#
1256
24
Bagaimana untuk menyemak versi django Bagaimana untuk menyemak versi django Dec 01, 2023 pm 02:25 PM

Langkah-langkah untuk menyemak versi Django: 1. Buka terminal atau tetingkap command prompt 2. Pastikan Django tidak dipasang, anda boleh menggunakan alat pengurusan pakej untuk memasangnya dan masukkan perintah pip install django; Selepas pemasangan selesai, anda boleh menggunakan python -m django --version untuk menyemak versi Django.

Django vs. Flask: Analisis perbandingan rangka kerja web Python Django vs. Flask: Analisis perbandingan rangka kerja web Python Jan 19, 2024 am 08:36 AM

Django dan Flask adalah kedua-duanya peneraju dalam rangka kerja Web Python, dan kedua-duanya mempunyai kelebihan dan senario yang boleh digunakan. Artikel ini akan menjalankan analisis perbandingan kedua-dua rangka kerja ini dan memberikan contoh kod khusus. Pengenalan Pembangunan Django ialah rangka kerja Web berciri penuh, tujuan utamanya adalah untuk membangunkan aplikasi Web yang kompleks dengan cepat. Django menyediakan banyak fungsi terbina dalam, seperti ORM (Pemetaan Hubungan Objek), borang, pengesahan, bahagian belakang pengurusan, dsb. Ciri-ciri ini membolehkan Django mengendalikan besar

Kebaikan dan Keburukan Rangka Kerja Django: Semua yang Anda Perlu Tahu Kebaikan dan Keburukan Rangka Kerja Django: Semua yang Anda Perlu Tahu Jan 19, 2024 am 09:09 AM

Django ialah rangka kerja pembangunan lengkap yang merangkumi semua aspek kitaran hayat pembangunan web. Pada masa ini, rangka kerja ini merupakan salah satu rangka kerja web yang paling popular di seluruh dunia. Jika anda bercadang untuk menggunakan Django untuk membina aplikasi web anda sendiri, maka anda perlu memahami kelebihan dan kekurangan rangka kerja Django. Berikut ialah semua yang anda perlu ketahui, termasuk contoh kod khusus. Kelebihan Django: 1. Pembangunan pesat-Djang boleh membangunkan aplikasi web dengan cepat. Ia menyediakan perpustakaan yang kaya dan dalaman

Apakah perbezaan antara versi django? Apakah perbezaan antara versi django? Nov 20, 2023 pm 04:33 PM

Perbezaannya ialah: 1. Siri Django 1.x: Ini ialah versi awal Django, termasuk versi 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8 dan 1.9. Versi ini menyediakan fungsi pembangunan web asas; 2. Siri Django 2.x: Ini adalah versi jangka pertengahan Django, termasuk versi 2.0, 2.1, 2.2 dan lain-lain siri Django Termasuk versi 3.0, 3, dsb.

Cara menaik taraf versi Django: langkah dan pertimbangan Cara menaik taraf versi Django: langkah dan pertimbangan Jan 19, 2024 am 10:16 AM

Cara menaik taraf versi Django: langkah dan pertimbangan, contoh kod khusus diperlukan Pengenalan: Django ialah rangka kerja Web Python yang berkuasa yang sentiasa dikemas kini dan dinaik taraf untuk memberikan prestasi yang lebih baik dan lebih banyak ciri. Walau bagaimanapun, bagi pembangun yang menggunakan versi lama Django, menaik taraf Django mungkin menghadapi beberapa cabaran. Artikel ini akan memperkenalkan langkah dan langkah berjaga-jaga tentang cara untuk meningkatkan versi Django dan memberikan contoh kod khusus. 1. Sandarkan fail projek sebelum menaik taraf Djan

Adakah django bahagian hadapan atau belakang? Adakah django bahagian hadapan atau belakang? Nov 21, 2023 pm 02:36 PM

Django ialah bahagian belakang. Butiran: Walaupun Django terutamanya rangka kerja bahagian belakang, ia berkait rapat dengan pembangunan bahagian hadapan. Melalui ciri seperti enjin templat Django, pengurusan fail statik dan API RESTful, pembangun bahagian hadapan boleh bekerjasama dengan pembangun bahagian belakang untuk membina aplikasi web yang berkuasa dan boleh skala.

Bagaimana untuk menyemak versi django Bagaimana untuk menyemak versi django Nov 30, 2023 pm 03:08 PM

Cara menyemak versi django: 1. Untuk menyemak melalui baris arahan, masukkan arahan "python -m django --version" dalam terminal atau tetingkap baris arahan 2. Untuk menyemak dalam persekitaran interaktif Python, masukkan "import django print(django. get_version())" code; 3. Semak fail tetapan projek Django dan cari senarai bernama INSTALLED_APPS, yang mengandungi maklumat aplikasi yang dipasang.

Adakah Django bahagian hadapan atau belakang? semaklah! Adakah Django bahagian hadapan atau belakang? semaklah! Jan 19, 2024 am 08:37 AM

Django ialah rangka kerja aplikasi web yang ditulis dalam Python yang menekankan pembangunan pesat dan kaedah bersih. Walaupun Django ialah rangka kerja web, untuk menjawab soalan sama ada Django ialah front-end atau back-end, anda perlu mempunyai pemahaman yang mendalam tentang konsep front-end dan back-end. Bahagian hadapan merujuk kepada antara muka yang pengguna berinteraksi secara langsung, dan bahagian belakang merujuk kepada program bahagian pelayan Mereka berinteraksi dengan data melalui protokol HTTP. Apabila bahagian hadapan dan bahagian belakang dipisahkan, program bahagian hadapan dan bahagian belakang boleh dibangunkan secara bebas untuk melaksanakan logik perniagaan dan kesan interaktif masing-masing, dan pertukaran data.

See all articles