一个基于Flask和MongoDB的CMS内容管理系统

时间:2022-04-25
本文章向大家介绍一个基于Flask和MongoDB的CMS内容管理系统,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Quokka

世界上最快乐的CMS内容管理系统

封面即为Quokka原意:产于澳大利亚的短尾矮袋鼠

Quokka是一个灵活地运用Python、Flask、MongoDB集成的内容管理平台,你可以拿它用来发布博客,建立门户网站、企业内部网络、文件管理系统,而且你可以安装一些像Quokka-cart这样的模块来做电商APP,或者你可以很容易地开发一个Quokka模块来满足你的需求。

Quokka Dashboard (基于Flask-Admin)

Quokka可以运行在Python 2.7环境中(Python 3环境正在开发之中)

最便捷地来运行Quokka的方式是基于quokkaCMS + Gunicorn + Supervisor在Docker容器中作为开发或者生产环境。你可以访问以下文档:https://github.com/quokkaproject/docker-gunicorn-supervisor

将Quokka部署到本地环境中

git clone https://github.com/Chinese-Python/quokka --branch master --single-branch
cd quokka

运行Quokka

1、安装virtualenv或者pyenv等虚拟环境 2、编译安装MongoDB数据库,下载后运行如下命令:

./bin/mongod --dbpath /tmp/

3、如果已经安装MongoDB,只需修改local_settings.py的MongoDB设置

$ $EDITOR quokka/local_settings.py
===quokka/quokka/local_settings.py===
MONGODB_DB = "yourdbname"
MONGODB_HOST = 'your_host'
MONGODB_PORT = 27017
MONGODB_USERNAME = None
MONGODB_PASSWORD = None
===============================

4、如果你已经安装Docker,只需要运行Mongo官方镜像

cd quokka
docker run -d -v $PWD/etc/mongodata:/data/db -p 27017:27017 mongo

5、激活虚拟环境,然后安装所需要的依赖包

source env/bin/activate
pip install -r requirements/requirements.txt

6、初始化数据,管理员

  • 创建一个超级管理员 $ manage accounts_createsuperuser you@email.com P4$$W0Rd
  • 写入测试数据 $ manage populate
  • 运行系统 $ manage runserver --host 0.0.0.0 --port 5000 访问http://localhost:5000即可看到效果,管理页面在http://localhost:5000/admin