Pat*_*mar 2 django macos docker
我正在 OSX 10.15.3 上使用 runserver 运行 Django 版本 3.0.3。我的应用程序没问题,但是当我尝试访问http://localhost:8000/admin/时,容器崩溃并显示“exited with code 245”,Docker 日志中没有更多内容,看起来像 python 问题,知道如何调试。感谢 Dokerfile :
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN apt-get update && apt-get -y install locales
COPY locale.gen /etc/
RUN locale-gen fr_FR.UTF-8
ENV LANG fr_FR.UTF-8
ENV LANGUAGE fr_FR:fr
ENV LC_ALL fr_FR.UTF-8
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ADD . /code/
Run Code Online (Sandbox Code Playgroud)
docker-compose:
version: '3'
services:
db:
image: postgres
volumes:
- xxx
redis:
image: "redis:latest"
command: redis-server --requirepass xxx
ports:
- '6379:6379'
web:
build : .
command: python3 -u manage.py runserver_plus --nopin 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
- redis
environment:
- PYTHONUNBUFFERED=1
external_links:
- scodoc:scodoc
celery:
build : .
command: celery -A cobalt worker -l info
volumes:
- .:/code
depends_on:
- db
- redis
networks:
default:
external:
name: test
Run Code Online (Sandbox Code Playgroud)
日志 :
web_1 | Performing system checks...
web_1 |
web_1 | System check identified no issues (0 silenced).
web_1 |
web_1 | Django version 3.0.3, using settings 'cobalt.settings'
web_1 | Development server is running at http://0.0.0.0:8000/
web_1 | Using the Werkzeug debugger (http://werkzeug.pocoo.org/)
web_1 | Quit the server with CONTROL-C.
web_1 | * Debugger is active!
web_1 | * Debugger PIN disabled. DEBUGGER UNSECURED!
cobalt_web_1 exited with code 245
Run Code Online (Sandbox Code Playgroud)
编辑:经过一些调试,问题似乎来自 django/django/core/handlers/base.py
143 response = response.render()
也许是因为循环第 132 行的 self._template_response_middleware 为空
编辑2:
MIDDLEWARE = [
'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'cobalt.middleware.StoreAnnee',
'reversion.middleware.RevisionMiddleware',
]
Run Code Online (Sandbox Code Playgroud)
编辑3:似乎没有调用 load_middleware base.py(23) ,因此 self._template_response_middleware 为空。当我使用 localhost:8000 访问我的应用程序时,一切工作正常,问题仅针对 localhost:8000/admin。我用打印进行调试,这是更好的方法吗?我尝试 Pdb 但没有成功,Werkzeug 在这种情况下什么也没给出。
编辑 4:使用 PYTHONFAULTHANDLER 1 进行记录
16 File "/usr/local/lib/python3.7/site-packages/django/utils/safestring.py", line 63 in mark_safe
17 File "/usr/local/lib/python3.7/site-packages/django/template/base.py", line 781 in __init__
18 File "/usr/local/lib/python3.7/site-packages/django/templatetags/i18n.py", line 77 in __init__
19 File "/usr/local/lib/python3.7/site-packages/django/templatetags/i18n.py", line 406 in do_translate
20 File "/usr/local/lib/python3.7/site-packages/django/template/base.py", line 475 in parse
21 File "/usr/local/lib/python3.7/site-packages/django/template/loader_tags.py", line 209 in do_block
22 File "/usr/local/lib/python3.7/site-packages/django/template/base.py", line 475 in parse
23 File "/usr/local/lib/python3.7/site-packages/django/template/loader_tags.py", line 266 in do_extends
24 File "/usr/local/lib/python3.7/site-packages/django/template/base.py", line 475 in parse
25 File "/usr/local/lib/python3.7/site-packages/django/template/base.py", line 194 in compile_nodelist
26 File "/usr/local/lib/python3.7/site-packages/django/template/base.py", line 156 in __init__
27 File "/usr/local/lib/python3.7/site-packages/django/template/loaders/base.py", line 30 in get_template
28 File "/usr/local/lib/python3.7/site-packages/django/template/engine.py", line 125 in find_template
29 File "/usr/local/lib/python3.7/site-packages/django/template/engine.py", line 143 in get_template
30 File "/usr/local/lib/python3.7/site-packages/django/template/backends/django.py", line 34 in get_template
31 File "/usr/local/lib/python3.7/site-packages/django/template/loader.py", line 15 in get_template
32 File "/usr/local/lib/python3.7/site-packages/django/template/response.py", line 65 in resolve_template
33 File "/usr/local/lib/python3.7/site-packages/django/template/response.py", line 81 in rendered_content
34 File "/usr/local/lib/python3.7/site-packages/django/template/response.py", line 105 in render
35 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 143 in _get_response
36 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
37 File "/usr/local/lib/python3.7/site-packages/django/utils/deprecation.py", line 94 in __call__
38 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
39 File "/usr/local/lib/python3.7/site-packages/reversion/views.py", line 44 in do_revision_view
40 File "/usr/local/lib/python3.7/site-packages/reversion/middleware.py", line 26 in __call__
41 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
42 File "/code/cobalt/middleware.py", line 18 in __call__
43 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
44 File "/usr/local/lib/python3.7/site-packages/django/utils/deprecation.py", line 94 in __call__
45 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
46 File "/usr/local/lib/python3.7/site-packages/django/utils/deprecation.py", line 94 in __call__
47 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
48 File "/usr/local/lib/python3.7/site-packages/django/utils/deprecation.py", line 94 in __call__
49 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
50 File "/usr/local/lib/python3.7/site-packages/django/utils/deprecation.py", line 94 in __call__
51 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
52 File "/usr/local/lib/python3.7/site-packages/django/utils/deprecation.py", line 94 in __call__
53 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
54 File "/usr/local/lib/python3.7/site-packages/django/utils/deprecation.py", line 94 in __call__
55 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
56 File "/usr/local/lib/python3.7/site-packages/django/utils/deprecation.py", line 94 in __call__
57 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
58 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
59 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/logging.py", line 77 in process_request
60 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
61 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
62 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
63 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
64 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/staticfiles.py", line 115 in process_request
65 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
66 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
67 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
68 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/headers.py", line 50 in process_request
9 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
70 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
71 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/timer.py", line 58 in process_request
72 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/panels/__init__.py", line 174 in process_request
73 File "/usr/local/lib/python3.7/site-packages/debug_toolbar/middleware.py", line 61 in __call__
74 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34 in inner
75 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 75 in get_response
76 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/wsgi.py", line 133 in __call__
77 File "/usr/local/lib/python3.7/site-packages/django/contrib/staticfiles/handlers.py", line 68 in __call__
78 File "/usr/local/lib/python3.7/site-packages/werkzeug/debug/__init__.py", line 304 in debug_application
79 File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 314 in execute
80 File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 323 in run_wsgi
81 File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 379 in handle_one_request
82 File "/usr/local/lib/python3.7/http/server.py", line 426 in handle
83 File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 345 in handle
84 File "/usr/local/lib/python3.7/socketserver.py", line 717 in __init__
85 File "/usr/local/lib/python3.7/socketserver.py", line 357 in finish_request
86 File "/usr/local/lib/python3.7/socketserver.py", line 647 in process_request_thread
87 File "/usr/local/lib/python3.7/threading.py", line 865 in run
88 File "/usr/local/lib/python3.7/threading.py", line 917 in _bootstrap_inner
89 File "/usr/local/lib/python3.7/threading.py", line 885 in _bootstrap
90
91 Thread 0x00007fb148b58700 (most recent call first):
92 File "/usr/local/lib/python3.7/selectors.py", line 415 in select
93 File "/usr/local/lib/python3.7/socketserver.py", line 232 in serve_forever
94 File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 777 in serve_forever
95 File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 1009 in inner
96 File "/usr/local/lib/python3.7/threading.py", line 865 in run
97 File "/usr/local/lib/python3.7/threading.py", line 917 in _bootstrap_inner
98 File "/usr/local/lib/python3.7/threading.py", line 885 in _bootstrap
99
00 Thread 0x00007fb157d1c700 (most recent call first):
01 File "/usr/local/lib/python3.7/site-packages/werkzeug/_reloader.py", line 214 in run
02 File "/usr/local/lib/python3.7/site-packages/werkzeug/_reloader.py", line 337 in run_with_reloader
03 File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 1050 in run_simple
04 File "/usr/local/lib/python3.7/site-packages/django_extensions/management/commands/runserver_plus.py", line 345 in inner_run
05 File "/usr/local/lib/python3.7/site-packages/django_extensions/management/commands/runserver_plus.py", line 218 in handle
06 File "/usr/local/lib/python3.7/site-packages/django_extensions/management/utils.py", line 62 in inner
07 File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 369 in execute
08 File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 328 in run_from_argv
09 File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 395 in execute
10 File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 401 in execute_from_command_line
11 File "/code/manage.py", line 15 in <module>
Run Code Online (Sandbox Code Playgroud)
编辑5:我的代码带有错误代码/middleware.py
1 from base.models import Parametre
2 class StoreAnnee:
3 def __init__(self, get_response):
4 self.get_response = get_response
5 # One-time configuration and initialization.
6
7 def __call__(self, request):
8 # Code to be executed for each request before
9 # the view (and later middleware) are called.
10 if request.path == '/accounts/login/' and request.method == 'POST':
11 try:
12 parametre = Parametre.objects.get(pk=1)
13 request.session['annee'] = parametre.annee_en_cours.id
14 request.session['annee_code'] = parametre.annee_en_cours.code
15 except Parametre.DoesNotExist:
16 pass
17 response = self.get_response(request)
18
19 return response
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2472 次 |
| 最近记录: |