如何解决通过 docker-compose 文件创建的 django 超级用户不起作用
我有一个简单的 django-mongo 应用程序。 我的 django 应用程序有一个 dockerfile。
我有一个 docker-compose.yml,其中包含 django 和 mongo 图像。 我能够使用 docker-compose 命令构建和运行 django-mongo 应用程序。
我面临的问题是我无法使用超级用户凭据登录到 django 管理面板。
下面是我的 dockerfile
FROM python:3.8-alpine
RUN mkdir /cursor_infotech
workdir /cursor_infotech
ADD . /cursor_infotech/
RUN pip install -r requirements.txt
docker-compose.yml
version: "3"
services:
cursor-infotech:
container_name: cursor
image: cursor
restart: always
build: .
#environment:
# - MONGO_URI=$MONGO_URI
# - PORT=$PORT
# - NODE_ENV=$NODE_ENV
ports:
- "7000:7000"
networks:
- cursor-backend
depends_on:
- mongo
command: >
sh -c "python manage.py makemigrations && python manage.py migrate &&
python manage.py createsuperuser --noinput --username admin --email admin@test.com && gunicorn -b 0.0.0.0:7000 cursor_infotech.wsgi"
mongo:
container_name: mongo
image: mongo
environment:
- MONGO_INITDB_DATABASE=cursor-pcbuild
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=password
volumes:
- ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo-js:ro
- ./data:/usr/share/db/data
ports:
- '27017:27017'
networks:
- cursor-backend
networks:
cursor-backend:
driver: bridge
我在我的项目文件夹中运行了这个命令
docker-compose up --build
django 和 mongo 映像已构建和部署 - 工作正常。
当我尝试在 django 管理面板中登录管理员帐户时, 我得到以下错误。
当我尝试登录 django 管理面板时,我使用 docker-compose.yml 创建的 django 超级用户不起作用。 如何解决这个问题?
更新:
我已经在与 docker-compose.yml 相同的目录中创建了一个 .env 文件。 (忘记说了)
.env 文件如下图
DJANGO_SUPERUSER_PASSWORD=password
正如下面评论中提到的,如果你不想看图片,我正在解释这个问题。 -> 当我尝试使用我的用户名和密码访问管理面板时,
解决方法
"非交互运行时,可以通过设置DJANGO_SUPERUSER_PASSWORD环境变量来提供密码。否则,将不会设置密码,超级用户帐户将无法登录,直到手动为其设置密码.”
因此,您需要在运行 createsuperuser 命令之前设置环境变量。
此外,请不要将错误发布为图片,这可能会给连接速度较慢或运行辅助功能软件的用户带来问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。