django-просто-капча Не работает, когда DEBUG=False

#python #django #recaptcha #django-cms

Вопрос:

Я работаю над Django 2.2 и DjangoCMS 3.7.4. У меня возникла проблема с django-simple-captacha. Я следую руководству по установке (https://django-simple-captcha.readthedocs.io/en/latest/usage.html#installation)

Это работает, когда DEBUG=True , но когда DEBUG=False settings.py я получаю 500, когда пытаюсь отправить контактную форму.

Вот мой urls.py :

 # -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals

from cms.sitemaps import CMSSitemap
from django.conf import settings
from django.conf.urls import include, url
from django.conf.urls.static import static
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.contrib.sitemaps.views import sitemap
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.static import serve
from django.views.generic import TemplateView
from .views import career_form, contact_form, mentions

admin.autodiscover()

urlpatterns = [
    url(r'^mentions/

Мое установленное приложение в settings.py  :

 INSTALLED_APPS = [
    'djangocms_admin_style',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.admin',
    'django.contrib.sites',
    'django.contrib.sitemaps',
    'django.contrib.staticfiles',
    'django.contrib.messages',
    'ckeditor',
    'ckeditor_uploader',
    'djangocms_text_ckeditor',
    'cms',
    'menus',
    'sekizai',
    'treebeard',
    'filer',
    'easy_thumbnails',
    'djangocms_column',
    'djangocms_file',
    'djangocms_link',
    'djangocms_picture',
    'djangocms_style',
    'djangocms_snippet',
    'djangocms_googlemap',
    'djangocms_video',
    'absolute',
    'aldryn_forms',
    'aldryn_forms.contrib.email_notifications',
    'captcha',
    'emailit',
    'macros',
    'oloron',
    'news.apps.NewsConfig',
    'logs.apps.LogsConfig',
    'charts.apps.ChartsConfig',
    'directory.apps.DirectoryConfig',
    'career.apps.CareerConfig',
    'accordion'
]
 

Комментарии:

1. Ну, учитывая, что это капча, я предполагаю, что она использует статические / медиафайлы? Django не обслуживает статические / медиафайлы в производстве (Когда Debug=False ), потому что это неэффективно. См. раздел Развертывание статических файлов (Django docs) для получения информации об обслуживании статических файлов в рабочей среде.

2. Как вы запускаете свое приложение Django, когда DEBUG = False ? Вы все еще работаете на местном ./manage.py runserver уровне ? Или вы работаете на сервере? Если вы все еще работаете локально, проверьте вывод в консоли, который показывает всю трассировку стека. Если вы работаете на сервере, проверьте журналы сервера на наличие трассировки стека.

, mentions, name='mentions'),
url(r'^sitemap.xmlМое установленное приложение в settings.py :


Комментарии:

1. Ну, учитывая, что это капча, я предполагаю, что она использует статические / медиафайлы? Django не обслуживает статические / медиафайлы в производстве (Когда Debug=False ), потому что это неэффективно. См. раздел Развертывание статических файлов (Django docs) для получения информации об обслуживании статических файлов в рабочей среде.

2. Как вы запускаете свое приложение Django, когда DEBUG = False ? Вы все еще работаете на местном ./manage.py runserver уровне ? Или вы работаете на сервере? Если вы все еще работаете локально, проверьте вывод в консоли, который показывает всю трассировку стека. Если вы работаете на сервере, проверьте журналы сервера на наличие трассировки стека.

, sitemap,
{'sitemaps': {'cmspages': CMSSitemap}}),
]

urlpatterns = i18n_patterns(
url(r'^captcha/', include('captcha.urls')),
url(r'^admin/', admin.site.urls), # NOQA
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
url(r'^', include('cms.urls')),
url(r'^career/', include('career.urls')),
url(r'^carreer_form', career_form, name='career_form'),
url(r'^contact_form', contact_form, name='contact_form'),
)

urlpatterns static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

# This is only needed when using runserver.
if settings.DEBUG:
urlpatterns = [
url(r'^media/(?P<path>.*)

Мое установленное приложение в settings.py :


Комментарии:

1. Ну, учитывая, что это капча, я предполагаю, что она использует статические / медиафайлы? Django не обслуживает статические / медиафайлы в производстве (Когда Debug=False ), потому что это неэффективно. См. раздел Развертывание статических файлов (Django docs) для получения информации об обслуживании статических файлов в рабочей среде.

2. Как вы запускаете свое приложение Django, когда DEBUG = False ? Вы все еще работаете на местном ./manage.py runserver уровне ? Или вы работаете на сервере? Если вы все еще работаете локально, проверьте вывод в консоли, который показывает всю трассировку стека. Если вы работаете на сервере, проверьте журналы сервера на наличие трассировки стека.

, serve,
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
] staticfiles_urlpatterns() urlpatterns
Мое установленное приложение в settings.py :


Комментарии:

1. Ну, учитывая, что это капча, я предполагаю, что она использует статические / медиафайлы? Django не обслуживает статические / медиафайлы в производстве (Когда Debug=False ), потому что это неэффективно. См. раздел Развертывание статических файлов (Django docs) для получения информации об обслуживании статических файлов в рабочей среде.

2. Как вы запускаете свое приложение Django, когда DEBUG = False ? Вы все еще работаете на местном ./manage.py runserver уровне ? Или вы работаете на сервере? Если вы все еще работаете локально, проверьте вывод в консоли, который показывает всю трассировку стека. Если вы работаете на сервере, проверьте журналы сервера на наличие трассировки стека.