Verwenden Sie Vue2
und Flask
um einen persönlichen RESTful-Blog mit separatem Front-End und Back-End zu erstellen.
Einige Anweisungen zum Projekt finden Sie hier: Über IdealYard. Wenn Sie nicht finden, was Sie brauchen, teilen Sie uns dies bitte per E-Mail oder unter „Probleme“ mit.
Dieser Blog dient nur zum Lernen von Prinzipien. Die Frontend-Seite implementiert kein responsives Layout. Ich habe noch nicht die Energie, es umzusetzen, und ich habe nicht die Zeit, mich um den Blog-Inhalt zu kümmern. Blogs über tägliche Aufzeichnungen werden hauptsächlich in Biyuan Pastoral Records aktualisiert.
Wenn Sie ein Anfänger von Flask sind, empfehle ich Ihnen ein chinesisches Buch: „Flask Web Development in Practice: Getting Started, Advanced and Principle Analysis“. Gleichzeitig wird empfohlen, diese Website weiter zu besuchen: HelloFlask – Sammelstelle für Flask-Ressourcen
Aufgrund des Ablaufs des Servers verfügt dieser Blog nicht über eine Demonstrationsfunktion. Wenn jemand ihn online bereitgestellt hat und einen Demonstrationslink bereitstellen kann, wäre ich sehr dankbar. Klicken Sie zunächst auf den Link unten, um eine einfache Funktionsdemonstration anzusehen. Verwenden Sie Vue und Flask, um eine RESTful-Anzeige für persönliche Blog-Funktionen zu erstellen, die das vordere und hintere Ende trennt_bilibili(゜-゜)つロCheers~-bilibili
Aus den hier genannten Gründen ist Flask-RESTful keine gute Wahl mehr. Möglicherweise sind flask-restx und Apiflask <chinesische Entwicklung> (Hinweis: Da sich dieses Framework in der aktiven Entwicklung befindet, prüfen Sie es bitte sorgfältig, wenn Sie es verwenden). . Guter Ersatz. Wenn Sie lernen müssen, empfiehlt es sich auch, auf eine Erweiterung zu migrieren, die aktiver gepflegt wird.
Achten Sie auf die Unterscheidung zwischen Erweiterungen und Frameworks. Bitte vergleichen Sie Flask und FastAPI nicht zusammen
Was sind die geeigneten Vergleichsobjekte, da „FastAPI mit dem auf Flask basierenden Web-API-Framework verglichen werden sollte“? Obwohl Flask-RESTX, Flask-Rebar, flask-apispec, flask-smorest, Flask-RESTful und APIFairy versuchen, Frameworks zu sein, handelt es sich im Hinblick auf die spezifische Implementierung immer noch um Flask-Erweiterungen.
Beachten
Wenn dies nicht erforderlich ist, überlegen Sie bitte sorgfältig, ob Sie beitreten möchten! Einige Schüler schlossen sich der Gruppe an und verließen sie dann wortlos. Dieser Vorgang, sich für den Beitritt zur Gruppe zu bewerben und die Gruppe dann zu verlassen, würde mich unnötig stören.
3,6+
mysql Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using EditLine wrapper
oder
[root@python] # mysql --version
mysql Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64) using readline 5.1
Datenbank im Entwicklungsmodus: iyblog_dev
. Hier können Sie die Konfiguration ändern
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;
Nachdem Sie das aktuelle Verzeichnis eingegeben haben, installieren Sie zunächst das Pipenv-Verwaltungspaket über Pip
pip install pipenv [--user]
Installieren Sie Python-Abhängigkeiten
pipenv install
Umgebungsvariablen konfigurieren
vi .flaskenv
Bearbeiten Sie die Datei dot.env, konfigurieren Sie Umgebungsvariablen und benennen Sie sie in .env
um
vi dot.env
mv dot.env .env # 参考 master 分支
Bitte suchen Sie im Internet nach Tutorials, um die Quellen von Knoten und NPM/Garn selbst zu installieren und zu ändern.
Der Front-End-Bereitstellungsteil wird mit npm
als Paketverwaltungstool demonstriert. Wenn Sie yarn
für die Paketverwaltung verwenden, ändern Sie es bitte selbst (wenn Sie Garn verwenden, werden Sie package.json
definitiv nicht finden).
Informationen zur Front-End-Befehlskonfiguration finden Sie im Kapitel scripts
in front/package.json
.
npm install
front/config/dev.env.js
in die tatsächliche API-Adressenpm run dev
cd front
BASE_API
-Adresse prod
fest // /idealyard/front/config/prod.env.js
module . exports = {
NODE_ENV : '"production"' ,
BASE_API : '"http://192.168.116.21:5000/api"' // TODO:修改为真实API地址
}
router
auf den history
ein // 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
Weitere Informationen finden Sie in der Datei document/deploy.md
.
passieren
Aus Zeitgründen sind einige Probleme noch nicht gelöst. Weitere Informationen finden Sie hier. Wenn Studierende PR
benötigen, können Sie sich auch hier an die bekannten ungelösten Probleme und bug
wenden.
Anstatt woanders nachzuschlagen, ist es besser, hier Seite an Seite zu stehen. Informationen zur Konfiguration und Anleitung für den Entwicklungsmodus finden Sie in weiteren Dokumenten
Statistiken zur Verzeichnisstruktur und zum Codevolumen finden Sie hier
Dank der Ermutigung von Frau G @Sabiner kam ich auf die Idee, einen persönlichen Blog zu schreiben. Alles begann am Nachmittag, als Qiu Chuji am Dorf Niujia vorbeikam ...
Vielen Dank auch an @LeiWong für die Zeit, die er aufgewendet hat, um bug
zu finden und Probleme zu lösen, wenn er während der Entwicklung auf Probleme stieß.
Ein Mensch sollte in der Lage sein, eine Windel zu wechseln, eine Invasion zu planen, ein Schwein zu schlachten, ein Schiff zu steuern, ein Gebäude zu entwerfen, ein Sonett zu schreiben, Rechnungen abzurechnen, eine Mauer zu bauen, einen Knochen zu setzen, Sterbende zu trösten, Befehle entgegenzunehmen, zu geben Befehle geben, kooperieren, alleine handeln, Gleichungen lösen, ein neues Problem analysieren, Mist aufstellen, einen Computer programmieren, ein leckeres Essen kochen, effizient kämpfen, galant sterben.
Ein Mann sollte in der Lage sein, eine Windel zu wechseln, einen Krieg zu planen, ein Schwein zu töten, ein Schiff zu segeln, ein Haus zu entwerfen, ein Sonett zu schreiben, eine Rechnung zu begleichen, eine Mauer zu bauen, ausgerenkte Knochen zu verbinden, einen sterbenden Mann zu trösten, Befehlen zu gehorchen, Befehle erteilen und zusammenarbeiten, unabhängig handeln, mathematische Gleichungen lösen, neue Probleme analysieren, Mist schaufeln, Computer programmieren, köstliche Mahlzeiten zubereiten, gut kämpfen und mutig sterben. Nur Insekten sind auf eine Kategorie beschränkt.
– Robert Anson Heinlein, „Zeit genug zum Lieben“