ValueError:无法配置处理程序“Django_文件”

2024-09-30 23:43:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我发现了一个Django项目,但未能通过以下方式使其在Docker容器中运行:

  1. git clone git clone https://github.com/NAL-i5K/django-blast.git
  2. $ cat requirements.txt在此文件中,必须更新以下依赖项:
    • psycopg2==2.8.6

我有以下Dockerfile:

FROM python:2
ENV PYTHONUNBUFFERED=1
RUN apt-get update && apt-get install -y postgresql-client
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/

对于docker-compose.yml,我使用:

version: "3"

services:
  dbik:
    image: postgres
    volumes:
      - ./data/dbik:/var/lib/postgresql/data
      - ./scripts/install-extensions.sql:/docker-entrypoint-initdb.d/install-extensions.sql

    environment:
      - POSTGRES_DB=django_i5k
      - POSTGRES_USER=django
      - POSTGRES_PASSWORD=postgres
    ports:
      - 5432:5432


  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - dbik
    links:
      - dbik

$ cat scripts/install-extensions.sql 
CREATE EXTENSION hstore;

我必须改变:

$ vim i5k/settings_prod.py
DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'postgres',
    'USER': 'postgres',
    'PASSWORD': 'postgres',
    'HOST': 'db',
    'PORT': '5432',
    }
}

接下来,我运行docker-compose up --build

Starting djangoblast_dbik_1 ... 
Starting djangoblast_dbik_1 ... done
Recreating djangoblast_web_1 ... 
Recreating djangoblast_web_1 ... done
Attaching to djangoblast_dbik_1, djangoblast_web_1
dbik_1  | 
dbik_1  | PostgreSQL Database directory appears to contain a database; Skipping initialization
dbik_1  | 
dbik_1  | 2021-05-21 21:05:18.976 UTC [1] LOG:  starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
dbik_1  | 2021-05-21 21:05:18.976 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
dbik_1  | 2021-05-21 21:05:18.976 UTC [1] LOG:  listening on IPv6 address "::", port 5432
dbik_1  | 2021-05-21 21:05:18.988 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
dbik_1  | 2021-05-21 21:05:18.996 UTC [26] LOG:  database system was shut down at 2021-05-21 21:02:03 UTC
dbik_1  | 2021-05-21 21:05:19.003 UTC [1] LOG:  database system is ready to accept connections
web_1   | Unhandled exception in thread started by <function wrapper at 0x7fa1ec3bebd0>
web_1   | Traceback (most recent call last):
web_1   |   File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 229, in wrapper
web_1   |     fn(*args, **kwargs)
web_1   |   File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 107, in inner_run
web_1   |     autoreload.raise_last_exception()
web_1   |   File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 252, in raise_last_exception
web_1   |     six.reraise(*_exception)
web_1   |   File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 229, in wrapper
web_1   |     fn(*args, **kwargs)
web_1   |   File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 17, in setup
web_1   |     configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
web_1   |   File "/usr/local/lib/python2.7/site-packages/django/utils/log.py", line 86, in configure_logging
web_1   |     logging_config_func(logging_settings)
web_1   |   File "/usr/local/lib/python2.7/logging/config.py", line 794, in dictConfig
web_1   |     dictConfigClass(config).configure()
web_1   |   File "/usr/local/lib/python2.7/logging/config.py", line 576, in configure
web_1   |     '%r: %s' % (name, e))
web_1   | ValueError: Unable to configure handler 'django_file': [Errno 2] No such file or directory: '/var/log/django/django.log'

我错过了什么

先谢谢你


Tags: djangoinpylogweblibpackagesusr
1条回答
网友
1楼 · 发布于 2024-09-30 23:43:26

从堆栈跟踪:

ValueError: Unable to configure handler 'django_file': [Errno 2] No such file or directory: '/var/log/django/django.log'

您需要在映像中创建/var/log/django目录

RUN mkdir -p /var/log/django

在研究回购协议时,您可能也需要创建/var/log/i5k

相关问题 更多 >