Vue2 와 Flask 사용하여 프런트엔드와 백엔드가 분리된 RESTful 개인 블로그를 구축하세요.
프로젝트에 대한 일부 지침은 IdealYard 정보에서 찾을 수 있습니다. 필요한 것을 찾지 못한 경우 이메일이나 이슈를 통해 문의하세요.
이 블로그는 단지 원리를 배우기 위한 것입니다. 프론트 엔드 페이지는 반응형 레이아웃을 구현하지 않습니다 . 아직 구현할 에너지가 없고 블로그 콘텐츠를 관리할 시간도 없습니다. 일일 기록에 관한 블로그는 주로 Biyuan Pastoral Records에서 업데이트됩니다.
Flask를 처음 시작하는 분이라면 중국어 책 "Flask Web Development in Practice: Getting Started, Advanced and Principal Analysis"를 추천합니다. 나 역시 이 책의 독자이자 수혜자입니다. 동시에 다음 웹사이트를 더 방문하는 것이 좋습니다: HelloFlask - 플라스크 자원 수집 장소
서버 만료로 인해 이 블로그에는 데모 기능이 없습니다. 혹시 온라인에 배포해 주시고 데모 링크를 제공해 주신다면 정말 감사하겠습니다. 지금은 간단한 기능 데모를 보려면 아래 링크를 클릭하세요. Vue와 Flask를 사용해 전면과 후면을 분리하는 RESTful 개인 블로그 기능 디스플레이 구축_bilibili(゜-゜)つrotCheers~-bilibili
여기에 언급된 이유로 인해 Flask-RESTful은 더 이상 좋은 선택이 아닙니다. 아마도 Flask-restx 및 Apiflask <중국어 개발>(참고: 이 프레임워크는 현재 개발 중이므로 사용할 때 주의 깊게 평가하십시오)이 더 신뢰할 수 있는 대안일 수 있습니다. . 좋은 대체품입니다. 학습이 필요한 경우에는 보다 적극적으로 유지관리되는 확장으로 마이그레이션하는 것도 권장됩니다.
확장 기능과 프레임워크의 차이점을 주의하세요. Flask와 FastAPI를 함께 비교하지 마세요 |
"FastAPI는 Flask 기반의 Web API 프레임워크와 비교해야 합니다." 그렇다면 적합한 비교 개체는 무엇입니까? Flask-RESTX, Flask-Rebar, Flask-apispec, Flask-smorest, Flask-RESTful 및 APIFairy는 프레임워크가 되려고 노력하지만 특정 구현 측면에서는 여전히 Flask 확장입니다.

알아채다
꼭 필요하지 않다면 가입 여부를 신중하게 고려해주세요! 어떤 학생들은 그룹에 가입했다가 아무 말도 없이 그룹에서 탈퇴했습니다. 그룹에 가입 신청을 하고 탈퇴하는 것은 나에게 불필요한 방해가 될 것입니다.
3.6+
mysql Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using EditLine wrapper또는
[root@python] # mysql --version
mysql Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64) using readline 5.1 개발 모드 데이터베이스: iyblog_dev , 여기에서 구성을 수정할 수 있습니다.
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;현재 디렉터리에 진입한 후 먼저 pip를 통해 Pipenv 관리 패키지를 설치합니다.
pip install pipenv [--user]Python 종속성 설치
pipenv install 환경 변수 구성
vi .flaskenv dot.env 파일을 편집하고 환경 변수를 구성한 후 이름을 .env 로 바꿉니다.
vi dot.env
mv dot.env .env # 参考 master 分支node 및 npm/yarn 소스를 직접 설치하고 변경하려면 인터넷에서 튜토리얼을 검색해 보세요.
프론트 엔드 배포 부분은 패키지 관리 도구로 npm 사용하여 시연됩니다. 패키지 관리를 위해 yarn 사용하는 경우 직접 수정하시기 바랍니다. (Yarn을 사용하는 경우에는 package.json 찾을 수 없습니다.)
프런트엔드 명령 구성에 대해서는 front/package.json 의 scripts 장을 참조하세요.
npm installfront/config/dev.env.js 에서 백엔드가 요청한 주소와 포트를 실제 api 주소로 수정합니다.npm run dev cd frontprod 환경 BASE_API 주소 설정 // /idealyard/front/config/prod.env.js
module . exports = {
NODE_ENV : '"production"' ,
BASE_API : '"http://192.168.116.21:5000/api"' // TODO:修改为真实API地址
}router 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 자세한 내용은 document/deploy.md 파일을 참조하세요.
통과하다
시간 제약으로 인해 아직 해결되지 않은 문제가 있습니다. 자세한 내용은 여기를 참조하세요. 학생에게 PR 필요한 경우 여기에서 알려진 해결되지 않은 문제와 bug 시트를 참조할 수도 있습니다.
다른 곳을 찾는 것보다 여기에 어깨를 맞대고 서있는 것이 좋습니다. 개발 모드 구성 및 지침은 추가 문서를 참조하세요.
디렉터리 구조 및 코드 볼륨 통계는 여기를 참조하세요.




G@Sabiner님의 격려 덕분에 개인 블로그를 작성해야겠다는 생각이 떠올랐습니다. Qiu Chuji가 Niujia 마을을 지나던 오후부터 모든 것이 시작되었습니다 ...

또한 개발 중에 문제가 발생했을 때 bug 찾고 문제를 해결하는 데 도움을 준 @LeiWong에게도 감사드립니다.
인간은 기저귀를 갈고, 침략을 계획하고, 돼지를 도살하고, 배를 속이고, 건물을 설계하고, 소네트를 쓰고, 균형을 맞추고, 벽을 쌓고, 뼈를 세우고, 죽어가는 사람을 위로하고, 명령을 받고, 명령을 내릴 수 있어야 합니다. 명령하고, 협력하고, 혼자 행동하고, 방정식을 풀고, 새로운 문제를 분석하고, 거름을 뿌리고, 컴퓨터를 프로그래밍하고, 맛있는 음식을 요리하고, 효율적으로 싸우고, 용감하게 죽습니다.
남자는 기저귀를 갈고, 전쟁을 계획하고, 돼지를 죽이고, 배를 항해하고, 집을 설계하고, 소네트를 쓰고, 결산하고, 벽을 쌓고, 어긋난 뼈를 연결하고, 죽어가는 사람을 위로하고, 명령에 복종하고, 명령을 내리고, 함께 일하고, 독립적으로 행동하고, 수학 방정식을 풀고, 새로운 문제를 분석하고, 거름을 퍼내고, 컴퓨터 프로그래밍을 하고, 맛있는 음식을 만들고, 싸움을 잘하고, 용감하게 죽습니다. 곤충만 하나의 카테고리로 제한됩니다.
-- 로버트 앤슨 하인라인, "사랑하기에 충분한 시간"