Rumah pembangunan bahagian belakang Tutorial Python Membina contoh SPA menggunakan Python dan React

Membina contoh SPA menggunakan Python dan React

Jun 17, 2023 pm 12:38 PM
react python spa

Dengan perkembangan teknologi Internet yang berterusan, semakin banyak laman web mula menggunakan seni bina SPA (Single Page Application). SPA merujuk kepada mempersembahkan semua atau kebanyakan kandungan melalui satu halaman dan mengemas kini kandungan halaman secara dinamik melalui pelanggan, dan bukannya menggunakan kaedah berbilang halaman tradisional. Dalam artikel ini, kami akan menggunakan Python dan React untuk membina contoh SPA mudah untuk menunjukkan idea asas dan kaedah pelaksanaan SPA.

1. Persediaan persekitaran

Sebelum kita mula membina, kita perlu menyediakan persekitaran pembangunan. Mula-mula, anda perlu memasang Node.js dan npm Node.js ialah alat untuk menjalankan JavaScript pada bahagian pelayan, dan npm ialah pengurus pakej untuk Node.js. Kedua, kita perlu memasang Python dan perpustakaan yang diperlukan yang berkaitan dengannya.

Untuk memudahkan pengurusan dan penggunaan, kami akan menggunakan Django sebagai rangka kerja belakang untuk membina projek kami. Kita boleh menggunakan arahan berikut untuk memasang Django:

pip install Django

Pada masa yang sama, kita perlu memasang beberapa perpustakaan Python lain, termasuk django-cors-headers, djangorestframework dan django- webpack-loader . Perpustakaan ini akan menjadikan rangka kerja bahagian belakang kami lebih lengkap dan menyediakan lebih banyak sokongan untuk pembinaan bahagian hadapan kami.

pip install django-cors-headers djangorestframework django-webpack-loader

2. Bina bahagian hadapan

Sebelum membina bahagian hadapan, kita perlu menentukan beberapa struktur direktori. . Kami akan mencipta folder yang dipanggil frontend dalam direktori root projek untuk menyimpan kod front-end kami. Di bawah folder hadapan, kami akan mencipta folder bernama src untuk menyimpan kod React kami, dan folder bernama awam untuk menyimpan templat HTML, imej dan fail sumber lain kami.

Seterusnya, kami akan menggunakan arahan npx untuk mencipta aplikasi React, bernama frontend:

npx create-react-app frontend

Kemudian, kita perlu menggunakan npm Install beberapa perpustakaan yang diperlukan, termasuk react-router-dom, axios, bootstrap, react-bootstrap dan prop-types.

npm install react-router-dom axios bootstrap react-bootstrap prop-types

Selepas pemasangan selesai, kita boleh mula menulis kod React. Kami akan memuatkan komponen React kami secara dinamik berdasarkan penghalaan, dan juga menggunakan axios dalam komponen untuk bertukar data dengan bahagian belakang.

3. Bina bahagian belakang

Sebelum membina bahagian belakang, kita perlu menentukan beberapa struktur direktori. Kami akan mencipta folder bernama backend dalam direktori root projek untuk menyimpan kod backend kami. Di bawah folder bahagian belakang, kami akan mencipta folder yang dipanggil templat untuk menyimpan fail templat HTML kami.

Pertama, kita perlu mencipta projek Django bernama mysite:

django-admin.py startproject mysite backend

Kemudian, kita perlu mencipta projek Django dalam mysite/ mysite/tetapan fail py untuk menambah beberapa konfigurasi yang diperlukan. Secara khusus, kita perlu menentukan STATIC_URL, STATICFILES_DIRS, TEMPLATE_DIRS, CORS_ORIGIN_ALLOW_ALL, REST_FRAMEWORK dan WEBPACK_LOADER.

URL_STATIC = '/static/'
DIRS_STATICFILES = [os.path.join(BASE_DIR, "frontend/build/static")]
TEMPLATE_DIRS = [os.path.join(BASE_DIR, "frontend/public")]
CORS_ORIGIN_ALLOW_ALL = Benar
REST_FRAMEWORK = {'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer', )}
WEBPACK_LOADER' = {'IR'BUNDLE': {'IR'BUNDLE': dist/', 'STATS_FILE': os.path.join(BASE_DIR, 'frontend', 'webpack-stats.json')}}

Selepas membuat konfigurasi ini, kita boleh mula menulis kod backend kami ialah hilang. Kami akan menentukan fail yang dipanggil views.py untuk mengendalikan permintaan HTTP kami.

Dalam fungsi paparan, kami akan menggunakan nama komponen React sebagai parameter penghalaan untuk memuatkan templat React kami secara dinamik dan menghantarnya ke bahagian hadapan.

4. Membina alatan pembungkusan

Semasa penggunaan sebenar, kami perlu menggunakan webpack untuk membungkus komponen React dan sumber yang berkaitan ke dalam fail. Untuk memudahkan pengurusan, kami boleh membenamkan nama komponen React ke dalam fail konfigurasi Webpack, supaya ia boleh menjana fail pembungkusan yang sepadan berdasarkan nama komponen.

Selepas membuat persediaan ini, kami boleh menyepadukan kod bahagian hadapan dan bahagian belakang. Kami boleh menggunakan perkhidmatan fail statik Django untuk menerbitkan fail pakej React dan templat HTML bersama-sama pada halaman web yang sama untuk melengkapkan pembinaan contoh SPA kami.

5. Ringkasan

Dalam artikel ini, kami menggunakan Python dan React untuk membina contoh SPA dan menunjukkan idea asas dan kaedah pelaksanaan SPA. Daripada contoh ini, kita dapat melihat bahawa seni bina SPA boleh menjadikan keseluruhan tapak lebih pantas, lebih cekap dan lebih mudah diselenggara. Saya harap artikel ini berguna kepada pemula Jika anda menemui masalah atau mempunyai sebarang pertanyaan, sila hubungi kami untuk komunikasi.

Atas ialah kandungan terperinci Membina contoh SPA menggunakan Python dan React. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 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)

Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Apr 01, 2025 pm 11:15 PM

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Bagaimana menyelesaikan masalah ini? Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Bagaimana menyelesaikan masalah ini? Apr 01, 2025 pm 08:09 PM

Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Dalam pengaturcaraan, kita sering menghadapi masalah mengembalikan nilai null apabila panggilan API, yang bukan sahaja mengelirukan ...

Bolehkah anotasi parameter Python menggunakan rentetan? Bolehkah anotasi parameter Python menggunakan rentetan? Apr 01, 2025 pm 08:39 PM

Penggunaan alternatif anotasi parameter python Dalam pengaturcaraan Python, anotasi parameter adalah fungsi yang sangat berguna yang dapat membantu pemaju memahami dan menggunakan fungsi ...

Bagaimanakah skrip Python jelas output ke kedudukan kursor di lokasi tertentu? Bagaimanakah skrip Python jelas output ke kedudukan kursor di lokasi tertentu? Apr 01, 2025 pm 11:30 PM

Bagaimanakah skrip Python jelas output ke kedudukan kursor di lokasi tertentu? Semasa menulis skrip python, adalah perkara biasa untuk membersihkan output sebelumnya ke kedudukan kursor ...

Pembangunan Aplikasi Desktop Cross-Platform Python: Perpustakaan GUI mana yang terbaik untuk anda? Pembangunan Aplikasi Desktop Cross-Platform Python: Perpustakaan GUI mana yang terbaik untuk anda? Apr 01, 2025 pm 05:24 PM

Pilihan Perpustakaan Pembangunan Aplikasi Desktop Python Python Banyak pemaju Python ingin membangunkan aplikasi desktop yang boleh dijalankan pada kedua-dua sistem Windows dan Linux ...

Python Hourglass Graph Lukisan: Bagaimana untuk mengelakkan kesilapan yang tidak ditentukan? Python Hourglass Graph Lukisan: Bagaimana untuk mengelakkan kesilapan yang tidak ditentukan? Apr 01, 2025 pm 06:27 PM

Bermula dengan Python: Lukisan Grafik Hourglass dan Pengesahan Input Artikel ini akan menyelesaikan masalah definisi berubah -ubah yang dihadapi oleh pemula python dalam program lukisan grafik Hourglass. Kod ...

Bagaimana cara mengira dan menyusun set data produk yang besar di Python? Bagaimana cara mengira dan menyusun set data produk yang besar di Python? Apr 01, 2025 pm 08:03 PM

Penukaran dan Statistik Data: Pemprosesan yang cekap bagi set data besar Artikel ini akan memperkenalkan secara terperinci bagaimana untuk menukar senarai data yang mengandungi maklumat produk kepada yang lain yang mengandungi ...

See all articles