Contoh SPA dibina dengan Django dan Vue.js
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
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)
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
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
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>
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, }, ], });
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); }); }, }, });
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>
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











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 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

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

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, 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

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.

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.

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.
