Utilice Vue2 y Flask para crear un blog personal RESTful con front-end y back-end separados.
Algunas instrucciones sobre el proyecto se pueden encontrar aquí Acerca de IdealYard. Si no encuentra lo que necesita, comuníquese por correo electrónico o Problemas;
Este blog es solo para aprender principios. La página de inicio no implementa un diseño responsivo. Todavía no tengo la energía para implementarlo y no tengo tiempo para ocuparme del contenido del blog. Los blogs sobre registros diarios se actualizan principalmente en Biyuan Pastoral Records.
Si es un principiante en Flask, le recomiendo un libro chino: "Desarrollo web de Flask en la práctica: introducción, análisis avanzado y de principios". También soy lector y beneficiario de este libro. Al mismo tiempo, se recomienda visitar más este sitio web: HelloFlask: lugar de recopilación de recursos de Flask
Debido a la caducidad del servidor, este blog no tiene función de demostración. Si alguien lo ha implementado en línea y puede proporcionar un enlace de demostración, estaría muy agradecido. Por ahora, haga clic en el enlace siguiente para ver una demostración funcional sencilla. Utilice Vue y Flask para crear una visualización de función de blog personal RESTful que separe los extremos frontal y posterior_bilibili(゜-゜)つロCheers~-bilibili
Debido a las razones mencionadas aquí, Flask-RESTful ya no es una buena opción. Quizás flask-restx y Apiflask <desarrollo chino> (nota: dado que este marco está en desarrollo activo, evalúelo cuidadosamente cuando lo use) sean una alternativa más confiable. Buen sustituto. Si necesita aprender, también se recomienda migrar a una extensión que se mantenga de forma más activa.
Preste atención a distinguir la diferencia entre extensiones y marcos. Consulte: No compare Flask y FastAPI juntos |
Dado que "FastAPI debe compararse con el marco de API web basado en Flask", ¿cuáles son los objetos de comparación adecuados? Aunque Flask-RESTX, Flask-Rebar, flask-apispec, flask-smorest, Flask-RESTful y APIFairy intentan ser marcos, siguen siendo extensiones de Flask en términos de implementación específica.

Aviso
Si no es necesario, ¡considere cuidadosamente si desea unirse! Algunos estudiantes se unieron al grupo y luego lo abandonaron sin decir una palabra. Esta operación de solicitar unirse al grupo y luego abandonar el grupo me causaría molestias innecesarias.
3.6+
mysql Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using EditLine wrappero
[root@python] # mysql --version
mysql Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64) using readline 5.1 Base de datos en modo desarrollo: iyblog_dev , puedes modificar la configuración aquí
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;Después de ingresar al directorio actual, primero instale el paquete de administración pipenv a través de pip
pip install pipenv [--user]Instalar dependencias de Python
pipenv install Configurar variables de entorno
vi .flaskenv Edite el archivo dot.env, configure las variables de entorno y cámbiele el nombre a .env
vi dot.env
mv dot.env .env # 参考 master 分支Busque tutoriales en Internet para instalar y cambiar las fuentes de node y npm/yarn usted mismo.
La parte de implementación del front-end se demuestra usando npm como herramienta de administración de paquetes. Si usa yarn para la administración de paquetes, modifíquelo usted mismo (si usa hilo, definitivamente no encontrará package.json ).
Para la configuración del comando front-end, consulte el capítulo scripts en front/package.json .
npm installfront/config/dev.env.js a la dirección API realnpm run dev cd frontBASE_API del entorno prod // /idealyard/front/config/prod.env.js
module . exports = {
NODE_ENV : '"production"' ,
BASE_API : '"http://192.168.116.21:5000/api"' // TODO:修改为真实API地址
}router en modo 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 Consulte el archivo document/deploy.md para obtener más información.
aprobar
Debido a limitaciones de tiempo, todavía hay algunos problemas que no se han resuelto. Consulte aquí para obtener más detalles. Si algún estudiante necesita PR , también puede consultar los problemas conocidos no resueltos y las hojas bug aquí.
En lugar de mirar hacia otra parte, es mejor estar hombro con hombro aquí. Para configuración e instrucciones del modo de desarrollo, consulte más documentos
Las estadísticas de estructura de directorios y volumen de código se refieren aquí




Gracias al estímulo de la Sra. G @Sabiner, se me ocurrió la idea de escribir un blog personal. Todo comenzó desde la tarde cuando Qiu Chuji pasó por la aldea de Niujia...

También agradezco a @LeiWong por el tiempo que dedicó a ayudar a encontrar bug y resolver problemas cuando encontró problemas durante el desarrollo.
Un ser humano debería ser capaz de cambiar un pañal, planear una invasión, sacrificar un cerdo, comandar un barco, diseñar un edificio, escribir un soneto, equilibrar cuentas, construir un muro, colocar un hueso, consolar a los moribundos, recibir órdenes, dar Ordena, coopera, actúa solo, resuelve ecuaciones, analiza un nuevo problema, echa estiércol, programa una computadora, cocina una comida sabrosa, lucha eficientemente, muere galantemente.
Un hombre debería poder cambiar un pañal, planear una guerra, matar un cerdo, navegar un barco, diseñar una casa, escribir un soneto, ajustar cuentas, construir un muro, unir huesos dislocados, consolar a un moribundo, obedecer órdenes, dar órdenes y trabajar juntos, actuar de forma independiente, resolver ecuaciones matemáticas, analizar nuevos problemas, palear estiércol, programar computadoras, preparar comidas deliciosas, ser bueno peleando y morir con valentía. Sólo los insectos están restringidos a una categoría.
-- Robert Anson Heinlein, "Tiempo suficiente para amar"