Gunakan Vue2 dan Flask untuk membangun blog pribadi yang tenang dengan front-end dan back-end yang terpisah.
Beberapa petunjuk tentang proyek dapat ditemukan di sini Tentang IdealYard Jika Anda tidak menemukan apa yang Anda butuhkan, silakan berkomunikasi melalui email atau Masalah;
Blog ini hanya untuk pembelajaran prinsip saja. Halaman depan belum menerapkan layout responsif. Saya belum punya tenaga untuk menerapkannya, dan saya belum punya waktu untuk mengurus konten blog. Blog tentang catatan harian sebagian besar diperbarui di Biyuan Pastoral Records.
Jika Anda seorang pemula di Flask, saya merekomendasikan sebuah buku berbahasa Mandarin kepada Anda: "Pengembangan Web Flask dalam Praktek: Memulai, Tingkat Lanjut, dan Analisis Prinsip". Pada saat yang sama, disarankan untuk mengunjungi situs web ini lebih sering: HelloFlask - Tempat pengumpulan sumber daya Flask
Karena habisnya masa berlaku server, blog ini tidak memiliki fungsi demonstrasi. Jika ada yang menyebarkannya secara online dan dapat memberikan link demonstrasi, saya akan sangat berterima kasih. Untuk saat ini, silakan klik tautan di bawah untuk menyaksikan demonstrasi fungsi sederhana. Gunakan Vue dan Flask untuk membuat tampilan fungsi blog pribadi RESTful yang memisahkan bagian depan dan belakang_bilibili(゜-゜)つロCheers~-bilibili
Karena alasan yang disebutkan di sini, Flask-RESTful bukan lagi pilihan yang baik. Mungkin flask-restx dan Apiflask <Pengembangan China> (catatan: karena kerangka kerja ini sedang dalam pengembangan aktif, harap evaluasi dengan cermat saat menggunakannya) adalah alternatif yang lebih andal. . Pengganti yang bagus. Jika Anda perlu belajar, disarankan juga untuk bermigrasi ke ekstensi yang lebih aktif dipelihara.
Perhatikan untuk membedakan perbedaan antara ekstensi dan kerangka kerja. Silakan merujuk ke: Harap jangan membandingkan Flask dan FastAPI secara bersamaan |
Karena "FastAPI harus dibandingkan dengan kerangka Web API berdasarkan Flask", objek perbandingan apa yang cocok? Meskipun Flask-RESTX, Flask-Rebar, flask-apispec, flask-smorest, Flask-RESTful, dan APIFairy mencoba menjadi kerangka kerja, mereka masih merupakan ekstensi Flask dalam hal implementasi spesifik.

Melihat
Jika tidak perlu, harap pertimbangkan baik-baik apakah akan bergabung! Beberapa siswa bergabung dengan grup dan kemudian keluar dari grup tanpa mengucapkan sepatah kata pun. Tindakan mendaftar untuk bergabung dengan grup dan kemudian keluar dari grup akan menimbulkan gangguan yang tidak perlu bagi saya.
3.6+
mysql Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using EditLine wrapperatau
[root@python] # mysql --version
mysql Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64) using readline 5.1 Basis data mode pengembangan: iyblog_dev , Anda dapat mengubah konfigurasi di sini
CREATE USER ' USERNAME '@ ' localhost ' IDENTIFIED BY ' PASSWORD ' ;
-- 如果需要支持emoji,则设置utf8mb4编码。否则使用utf-8编码即可
CREATE DATABASE DATABASENAME CHARSET = utf8mb4;
grant all privileges on DATABASENAME. * to USERNAME@localhost identified by ' PASSWORD ' ;
flush privileges;Setelah masuk ke direktori saat ini, instal terlebih dahulu paket manajemen pipenv melalui pip
pip install pipenv [--user]Instal dependensi Python
pipenv install Konfigurasikan variabel lingkungan
vi .flaskenv Edit file dot.env, konfigurasikan variabel lingkungan dan ganti namanya menjadi .env
vi dot.env
mv dot.env .env # 参考 master 分支Silakan cari tutorial di Internet untuk menginstal dan mengubah sumber node dan npm/yarn sendiri.
Bagian penerapan front-end didemonstrasikan menggunakan npm sebagai alat manajemen paket. Jika Anda menggunakan yarn untuk manajemen paket, silakan modifikasi sendiri (jika Anda menggunakan benang, Anda pasti tidak akan menemukan package.json .)
Untuk konfigurasi perintah front-end, lihat bab scripts di front/package.json .
npm installfront/config/dev.env.js ke alamat api sebenarnyanpm run dev cd frontBASE_API lingkungan prod // /idealyard/front/config/prod.env.js
module . exports = {
NODE_ENV : '"production"' ,
BASE_API : '"http://192.168.116.21:5000/api"' // TODO:修改为真实API地址
}router ke mode history // path: front/src/router/index.js:16
const router = new VueRouter ( {
// https://router.vuejs.org/zh/guide/essentials/history-mode.html#html5-history-%E6%A8%A1%E5%BC%8F
// mode: 'history',
routes : [ ]
} )npm run build Silakan lihat file document/deploy.md untuk mempelajari lebih lanjut.
lulus
Karena keterbatasan waktu, masih ada beberapa masalah yang belum terselesaikan. Silakan lihat di sini untuk detailnya. Jika ada siswa yang membutuhkan PR , Anda juga dapat merujuk ke masalah umum yang belum terselesaikan dan lembar bug di sini.
Daripada mencari-cari di tempat lain, lebih baik berdiri bahu-membahu di sini. Untuk konfigurasi dan instruksi mode pengembangan, lihat dokumen lainnya
Struktur direktori dan statistik volume kode lihat di sini




Berkat dorongan dari Ibu G @Sabiner, saya mendapat ide untuk menulis blog pribadi. Semuanya bermula dari sore hari saat Qiu Chuji melewati Desa Niujia...

Terima kasih juga kepada @LeiWong atas waktu yang dia habiskan untuk membantu menemukan bug dan memecahkan masalah ketika dia menemui masalah selama pengembangan.
Manusia harus mampu mengganti popok, merencanakan invasi, menyembelih babi, menghubungkan kapal, merancang bangunan, menulis soneta, menyeimbangkan rekening, membangun tembok, memasang tulang, menghibur orang yang sekarat, menerima perintah, memberi memesan, bekerja sama, bertindak sendiri, menyelesaikan persamaan, menganalisis masalah baru, melempar pupuk kandang, memprogram komputer, memasak makanan lezat, bertarung dengan efisien, mati dengan gagah.
Laki-laki harus mampu mengganti popok, merencanakan perang, membunuh babi, mengarungi kapal, merancang rumah, menulis soneta, menyelesaikan rekening, membangun tembok, menyambung tulang yang terkilir, menghibur orang yang sekarat, mematuhi perintah, mengeluarkan perintah, dan bekerja sama, bertindak mandiri, menyelesaikan persamaan matematika, menganalisis masalah baru, menyekop kotoran, pemrograman komputer, membuat makanan lezat, pandai bertarung, dan mati dengan gagah berani. Hanya serangga yang dibatasi pada satu kategori.
-- Robert Anson Heinlein, "Waktunya Cukup untuk Mencintai"