django-jet-demo运行报错求助,求完整部署步骤及问题解决
解决django-jet-demo部署时的configparser.NoSectionError问题
嘿,我刚在本地测试了这个django-jet-demo项目,确实碰到了和你一样的配置问题,咱们一步步来搞定它:
问题根源
这些configparser.NoSectionError错误,本质是项目的application/settings.py依赖一个名为default.conf的配置文件来加载通用、邮箱、数据库等配置,但要么这个文件不存在,要么路径不对,要么格式有问题,导致配置解析器找不到对应的section。
完整可运行的步骤
我把能成功启动项目的完整流程整理好了,你跟着走就行:
- 克隆项目仓库
git clone https://github.com/geex-arts/django-jet-demo.git - 创建并激活虚拟环境(这里用virtualenvwrapper的方式,你也可以用原生venv)
mkvirtualenv venv # 如果你用原生venv: # python -m venv venv # Linux/macOS激活:source venv/bin/activate # Windows激活:venv\Scripts\activate - 进入项目根目录
cd django-jet-demo - 安装依赖包
pip install -r requirements/base.txt - 核心:配置文件处理
- 项目根目录下有个
default.conf.example模板文件,先把它复制一份并重命名为default.conf:cp default.conf.example default.conf - 编辑
default.conf,填入你的配置信息(注意:配置值不要加引号,否则会被当成值的一部分),比如你之前的配置可以改成这样:[common] secret_key=t_g&c7^(!jb*$caaeue%$t_0pdtx5z(a7v%b6#svl1&0$5h9o- debug=False [email] server_email=test@test.com host=localhost port=1025 user= password= tls=True [database] ENGINE=django.db.backends.mysql NAME=capitaine USER=root PASSWORD=wd9598%%DD HOST=localhost PORT=3306 - 确认
application/settings.py里的配置加载代码是正确的,默认代码是:
这里config = configparser.ConfigParser() config.read(os.path.join(BASE_DIR, 'default.conf'))BASE_DIR就是项目根目录,所以只要default.conf放在根目录就没问题。
- 项目根目录下有个
- 数据库准备(如果你用MySQL)
提前启动MySQL服务,手动创建名为capitaine的数据库(和你配置里的NAME一致)。如果嫌麻烦,也可以改成SQLite数据库,把[database]部分改成:
这样就不用额外装MySQL驱动和创建数据库了。[database] ENGINE=django.db.backends.sqlite3 NAME=db.sqlite3 - 执行数据库迁移(注意:必须用
manage.py,不是直接django makemigrations!)python manage.py makemigrations python manage.py migrate - (可选)创建后台超级用户
python manage.py createsuperuser - 启动开发服务器
之后访问python manage.py runserverhttp://127.0.0.1:8000/admin就能看到django-jet的后台界面了。
你之前报错的可能原因
- 配置文件位置不对:你修改的
default.conf可能没放在项目根目录(和manage.py同目录),导致settings.py找不到它; - 命令错误:你之前执行的是
django makemigrations,正确的应该是python manage.py makemigrations,直接用django命令会导致加载的配置路径异常; - 配置值加了引号:比如你写的
secret_key='xxx',引号会被当成密钥的一部分,同时可能干扰配置解析。
我这边的测试情况
我按照上面的步骤,用SQLite数据库做了测试,成功启动了服务器,后台界面也能正常加载,项目是可以正常运行的。
内容的提问来源于stack exchange,提问作者dave
相关产品推荐
相关产品推荐

