2 Star 1 Fork 0

hujunjie / MyBlog

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

MyBolg

项目简介

  • 此项目是一个个人博客,也可以是一个社区,目前仅托管在码云,后续成熟之后会考虑迁移到github
  • 项目目前主要是由 graphql + Fastapi + tortoise-orm + aioredis 组成,在项目初期迁移了部分个人珍藏的flask公用代码,后续在技术栈的选用时考虑到fastapi 异步的优势,考虑全部选用异步框架,graphql由于本人在工作中使用时,觉得与restful相比的好处就是后端不用太多关注变动的需求,更多地把精力放在处理数据上,而且将多个请求合并的好处显而易见,减少网络io请求,只取需要的数据,当然本身graphql-python的生态还不是很成熟,中间也踩了一点坑。(ps: 在最新的commit中已经将graphene包换成strawberry-graphql,因考虑到fastapi的graphql支持是由starlette支持,在新的issue(https://github.com/encode/starlette/issues/619) 中已经将不再内置支持graphql)
  • 在开发包括部署的过程中比较烦的一点就是环境了,所以目前采用了docker的部署方案,目前项目支持docker-compose up 一键部署,目前只有mysql-redis-web三个服务,后续还会考虑继续添加

安装教程

  1. git clone 本项目
  2. 进入到项目目录,创建.env 文件 设置以下环境变量
MYSQL_PATH="path_to_mysql"   # 你选择挂载的mysql 目录
MYSQL_HOST="mysql"           # 默认为mysql,docker内部host能自动识别
MYSQL_PORT=3306
MYSQL_USER_NAME=root
MYSQL_PASSWORD=pass
MYSQL_DB_NAME=MyBlog
REDIS_PATH="path_to_redis"   # 默认redis挂载目录
REDIS_HOST=redis             # 默认为redis,docker内部host能自动识别
REDIS_PORT=6379
REDIS_DB=6

HASH_ID_SALT=dafddafsdfasfasfs   # 可使用命令获取随机该字符串 openssl rand -hex 32
SECRET_KEY=sdfasdfasdffa         # 同上
  1. 执行docker-compose up (执行前记得安装docker 以及 docker-compose) ps: 此处注意,若mysql和redis在docker中起,但是web在本地起,注意调整host为127.0.0.1,三者都在docker中起则为默认host即可链接

本地docker调试(mac或者windows 环境)

  • 选择project interpreter 添加一个docker-compose interpreter img.png 设置manage启动 img.png 由于是异步框架,调试时需要添加pycharm设置选项 gevent compatible才能正常debug img.png 访问 http://localhost:8000 进入到graphiql 进行前端请求调试 img.png 接下来就可以愉快的玩耍(开发)啦
MIT License Copyright (c) 2021 hujunjie Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
Python 等 3 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/hu_junjie/my-blog.git
git@gitee.com:hu_junjie/my-blog.git
hu_junjie
my-blog
MyBlog
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891