it seems you have a bug on your error handling, it seems messages.error is None
Can you reproduce this locally? your tests should also cover the error handling On Thu, Dec 15, 2016 at 1:45 AM, Zachary Sohovich < [email protected]> wrote: > I created a simple contact form with Django for a client. I am using the > Messages framework to display an error or success message on form > submission. If the form encounters any errors once or twice, we're good. It > displays the error message. But, after the third of fourth time there's an > error, I eventually start getting an Internal Server Error (500). > > Here's my *forms.py* > > from django import forms > from captcha.fields import ReCaptchaField > class EmailForm(forms.Form): > captcha = ReCaptchaField() > contact_name = forms.CharField(label='Name',max_length=100,required= > True,widget=forms.TextInput(attrs={'required':'true'})) > contact_email = forms.EmailField(required=True,max_length=100,label= > 'Email',widget=forms.EmailInput(attrs={'required':'true'})) > content = forms.CharField(required=True,widget=forms.Textarea(attrs={' > required':'true'})) > > > Here's my *views.py* > > from django.shortcuts import render, redirect > from django.contrib import messages > from .models import Employee > from .forms import EmailForm > from django.core.mail import send_mail > from django.template import Context > from django.template.loader import get_template > > > # Create your views here. > > > def home(request): > return render(request, 'index.html') > > > def team(request): > members = Employee.objects.all() > return render(request, 'team.html', {'members':members}) > > > def contact(request): > form_class = EmailForm > if request.method == 'POST': > form = EmailForm(request.POST) > if form.is_valid(): > contact_name = request.POST.get('contact_name', '') > contact_email = request.POST.get('contact_email', '') > form_content = request.POST.get('content', '') > template = get_template('contact_template.txt') > context = Context({'contact_name':contact_name,'contact_email' > :contact_email,'form_content':form_content,}) > content = template.render(context) > send_mail('Website Email from ' + contact_name,content, > contact_email, ['[email protected]'], fail_silently=False) > messages.success(request,'Email was successful!') > else: > try: > messages.error = messages.error(request, 'There was an > error submitting your email. Try again.') > except TypeError: > messages.error = messages.error(request, 'There was an > error submitting your email. Try again.') > return render(request, 'contact.html', {'form': form_class, }) > > > And then here's the* trace*: > > > > Internal Server Error: /contact/ > > TypeError at /contact/ ‘NoneType’ object is not callable > > Request Method: POST Request URL: https://www.crowdcontrolstudios.com/ > contact/ > <https://u4177255.ct.sendgrid.net/wf/click?upn=cOiSct7ckumc45Jg8h4RU7ZPO2mSfJLsUNtQxfI64lEHd53IFXyy3nm4v13NIn5QfTRyR9umoXC0yf8nel8kIg-3D-3D_8oo56UkJVDAwKlxdIgjqcdEy8NDaT992rGsVWFXA0YWbNGxL3V8g8mUoDxo6-2BkMahxF3wcUJnctcZA91H1gFWDB4GVEdIWBpSVPPY-2FFyxmGsa-2B93ivgMATSio0sPomdwpRHETfSgRoWiOuxpTwYwW6lEtkgPDqrFlZMfGgcOXXfd3KS-2FqDsMN5hEJ1MrHsHNfWIxMfOkMAco0mdltgSa2A-3D-3D> > Django Version: 1.10.4 Python Executable: > /home/django/django/crowdcontrol_env/bin/python3 > Python Version: 3.5.2 Python Path: ['/home/django/django', > ‘/home/django/django/crowdcontrol_env/bin’, ‘/home/django/django/ > crowdcontrol_env/lib/python35.zip’, ‘/home/django/django/ > crowdcontrol_env/lib/python3.5’, ‘/home/django/django/ > crowdcontrol_env/lib/python3.5/plat-x86_64-linux-gnu’, > ‘/home/django/django/crowdcontrol_env/lib/python3.5/lib-dynload’, > ‘/usr/lib/python3.5’, ‘/usr/lib/python3.5/plat-x86_64-linux-gnu’, > ‘/home/django/django/crowdcontrol_env/lib/python3.5/site-packages’] > Server time: Wed, 14 Dec 2016 23:43:43 +0000 Installed Applications: > ['static_pages','widget_tweaks', > 'captcha', > 'django.contrib.admin', > 'django.contrib.auth', > 'django.contrib.contenttypes', > 'django.contrib.sessions', > 'django.contrib.messages', > 'django.contrib.staticfiles'] > > > Installed Middleware: ['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'] > > > Traceback: > > File “/home/django/django/static_pages/views.py” in contact33. messages.error > = messages.error(request, 'There was an error submitting your email. Try > again.') > > > During handling of the above exception ('NoneType' object is not callable > ), another exception occurred: > > > > > File “/home/django/django/crowdcontrol_env/lib/python3.5/site-packages/ > django/core/handlers/exception.py” in inner39. response = get_response( > request) > > > File “/home/django/django/crowdcontrol_env/lib/python3.5/site-packages/ > django/core/handlers/base.py” in _get_response187. response = self. > process_exception_by_middleware(e, request) > > > File “/home/django/django/crowdcontrol_env/lib/python3.5/site-packages/ > django/core/handlers/base.py” in _get_response185. response = > wrapped_callback(request, *callback_args, **callback_kwargs) > > > File “/home/django/django/static_pages/views.py” in contact35. messages.error > = messages.error(request, 'There was an error submitting your email. Try > again.') > > > Exception Type: TypeError at /contact/ Exception Value: ‘NoneType’ object > is not callable Request information: USER: ***** > > GET: No GET data > > POST: csrfmiddlewaretoken = ‘DRULxDE8vxU42lHJLCrzcPjhCGRVs > 6IoB0PhVizCx1ASKKRMyA0d9Dc1EpRAsyqC’ Submit = ‘Submit’ contact_email = '' > g-recaptcha-response = '' contact_name = '' content = '' > > FILES: No FILES data > > COOKIES: csrftoken = ‘3cW1HK3AJfg52iN4QacRP0Pn8VmiP > XwN1lRx5pY4LJWTKHX7D8LvMOI7aEmXPpe1’ sessionid = ‘ > 1u9isby2y67q37srddz5rpsfeopc5008’ > > META: CONTENT_LENGTH = ‘158’ CONTENT_TYPE = ‘application/x-www-form-urlenc > oded’ CSRF_COOKIE = ‘3cW1HK3AJfg52iN4QacRP0Pn8VmiP > XwN1lRx5pY4LJWTKHX7D8LvMOI7aEmXPpe1’ HTTP_ACCEPT = ‘text/html,application/ > xhtml+xml,application/xml;q=0.9,*/*;q=0.8’ HTTP_ACCEPT_ENCODING = ‘gzip, > deflate’ HTTP_ACCEPT_LANGUAGE = ‘en-us’ HTTP_CONNECTION = ‘close’ > HTTP_COOKIE = ‘csrftoken=3cW1HK3AJfg52iN4QacRP0Pn8VmiPX > wN1lRx5pY4LJWTKHX7D8LvMOI7aEmXPpe1; sessionid= > 1u9isby2y67q37srddz5rpsfeopc5008’ HTTP_HOST = ‘www.crowdcontrolstudios.com’ > HTTP_ORIGIN = 'https://www.crowdcontrolstudios.com > <https://u4177255.ct.sendgrid.net/wf/click?upn=cOiSct7ckumc45Jg8h4RU7ZPO2mSfJLsUNtQxfI64lG07sHS-2BEEPo6bydZ7UjJFB_8oo56UkJVDAwKlxdIgjqcdEy8NDaT992rGsVWFXA0YWbNGxL3V8g8mUoDxo6-2BkMalEKqeIU-2B0tlyJt8nmqEzaFE-2BD4MQ0UwvmjxI1nWRb61c8AhcH4saMnXzzUT9cLVlPIvOHZH8dC5oU9nrMbX2f0tOPBGnBVd3UZDvPCUFWIJIP1Vy0CmwfUtzTB1X72jQCJzcLqaRyphn9qljTvDzvQ-3D-3D>' > HTTP_REFERER = 'https://www.crowdcontrolstudios.com/contact/ > <https://u4177255.ct.sendgrid.net/wf/click?upn=cOiSct7ckumc45Jg8h4RU7ZPO2mSfJLsUNtQxfI64lEHd53IFXyy3nm4v13NIn5QfTRyR9umoXC0yf8nel8kIg-3D-3D_8oo56UkJVDAwKlxdIgjqcdEy8NDaT992rGsVWFXA0YWbNGxL3V8g8mUoDxo6-2BkMamEbDXxUTx0pQHqAjLW77jly7fDRKcdS5BRaTPZ9DutcO0o-2FyW5Vx8X3WFC-2BgHIAunz1auIFG0giZR0IMm1GBgy7CWmq0cJaukqMCtzYErk74PB-2Bqg-2F3UCzg6Y224v49lh47Nhxzj987a9gmKCCLdyg-3D-3D>' > HTTP_USER_AGENT = ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) > AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14’ > HTTP_X_FORWARDED_FOR = ‘50.188.167.135’ HTTP_X_FORWARDED_PROTO = > ‘https,https’ HTTP_X_REAL_IP = ‘50.188.167.135’ PATH_INFO = ‘/contact/’ > QUERY_STRING = '' RAW_URI = ‘/contact/’ REMOTE_ADDR = “b''” REQUEST_METHOD > = ‘POST’ SCRIPT_NAME = '' SERVER_NAME = ‘www.crowdcontrolstudios.com’ > SERVER_PORT = ‘443’ SERVER_PROTOCOL = ‘HTTP/1.0’ SERVER_SOFTWARE = > ‘gunicorn/19.6.0’ gunicorn.socket = <socket.socket fd=11, > family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, > laddr=/home/django/django/crowdcontrol.sock> wsgi.errors = > <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f332b451940> > wsgi.file_wrapper = '' wsgi.input = <gunicorn.http.body.Body object at > 0x7f332b451cf8> wsgi.multiprocess = True wsgi.multithread = False > wsgi.run_once = False wsgi.url_scheme = ‘https’ wsgi.version = > > Settings: Using settings module crowdcontrol.settings > ABSOLUTE_URL_OVERRIDES = {} ADMINS = [('Zach', ‘[email protected]')] > ALLOWED_HOSTS = ['104.236.217.168’, ‘www.crowdcontrolstudios.com’, ‘ > crowdcontrolstudios.com’] APPEND_SLASH = True AUTHENTICATION_BACKENDS = > ['django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS = > ‘********************’ AUTH_USER_MODEL = ‘auth.User’ BASE_DIR = > ‘/home/django/django’ CACHES = {'default': {'BACKEND': > ‘django.core.cache.backends.locmem.LocMemCache'}} CACHE_MIDDLEWARE_ALIAS > = ‘default’ CACHE_MIDDLEWARE_KEY_PREFIX = ‘********************’ > CACHE_MIDDLEWARE_SECONDS = 600 CSRF_COOKIE_AGE = 31449600 > CSRF_COOKIE_DOMAIN = None CSRF_COOKIE_HTTPONLY = False CSRF_COOKIE_NAME = > ‘csrftoken’ CSRF_COOKIE_PATH = ‘/’ CSRF_COOKIE_SECURE = True > CSRF_FAILURE_VIEW = ‘django.views.csrf.csrf_failure’ CSRF_HEADER_NAME = > ‘HTTP_X_CSRFTOKEN’ CSRF_TRUSTED_ORIGINS = [] DATABASES = {'default’: > {'USER': ‘django’, ‘NAME’: ‘django’, ‘TEST’: {'COLLATION': None, ‘NAME’: > None, ‘CHARSET’: None, ‘MIRROR’: None}, ‘ENGINE’: > ‘django.db.backends.postgresql_psycopg2’, > ‘CONN_MAX_AGE’: 0, ‘OPTIONS’: {}, ‘PORT’: '', ‘TIME_ZONE’: None, > ‘ATOMIC_REQUESTS’: False, ‘AUTOCOMMIT’: True, ‘PASSWORD’: > ‘********************’, ‘HOST’: ‘localhost'}} DATABASE_ROUTERS = [] > DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000 > DATETIME_FORMAT = ‘N j, Y, P’ DATETIME_INPUT_FORMATS = ['%Y-%m-%d > %H:%M:%S’, ‘%Y-%m-%d %H:%M:%S.%f’, ‘%Y-%m-%d %H:%M’, ‘%Y-%m-%d’, ‘%m/%d/%Y > %H:%M:%S’, ‘%m/%d/%Y %H:%M:%S.%f’, ‘%m/%d/%Y %H:%M’, ‘%m/%d/%Y’, ‘%m/%d/%y > %H:%M:%S’, ‘%m/%d/%y %H:%M:%S.%f’, ‘%m/%d/%y %H:%M’, ‘%m/%d/%y’] > DATE_FORMAT = ‘N j, Y’ DATE_INPUT_FORMATS = ['%Y-%m-%d', ‘%m/%d/%Y’, > ‘%m/%d/%y’, ‘%b %d %Y’, ‘%b %d, %Y’, ‘%d %b %Y’, ‘%d %b, %Y’, ‘%B %d %Y’, > ‘%B %d, %Y’, ‘%d %B %Y’, ‘%d %B, %Y’] DEBUG = False > DEBUG_PROPAGATE_EXCEPTIONS = False DECIMAL_SEPARATOR = ‘.’ DEFAULT_CHARSET > = ‘utf-8’ DEFAULT_CONTENT_TYPE = ‘text/html’ DEFAULT_EXCEPTION_REPORTER_FILTER > = ‘django.views.debug.SafeExceptionReporterFilter’ DEFAULT_FILE_STORAGE = > ‘django.core.files.storage.FileSystemStorage’ DEFAULT_FROM_EMAIL = > ‘webmaster@localhost’ DEFAULT_INDEX_TABLESPACE = '' DEFAULT_TABLESPACE = > '' DISALLOWED_USER_AGENTS = [] EMAIL_BACKEND = > ‘django.core.mail.backends.smtp.EmailBackend’ > EMAIL_HOST = ‘smtp.sendgrid.net’ EMAIL_HOST_PASSWORD = > ‘********************’ EMAIL_HOST_USER = ‘crowdcontrol_ada’ EMAIL_PORT = > 587 EMAIL_SSL_CERTFILE = None EMAIL_SSL_KEYFILE = ‘********************’ > EMAIL_SUBJECT_PREFIX = ‘[Django] ' EMAIL_TIMEOUT = None EMAIL_USE_SSL = > False EMAIL_USE_TLS = True FILE_CHARSET = ‘utf-8’ > FILE_UPLOAD_DIRECTORY_PERMISSIONS > = None FILE_UPLOAD_HANDLERS = > ['django.core.files.uploadhandler.MemoryFileUploadHandler’, > ‘django.core.files.uploadhandler.TemporaryFileUploadHandler’] > FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440 FILE_UPLOAD_PERMISSIONS = None > FILE_UPLOAD_TEMP_DIR = None FIRST_DAY_OF_WEEK = 0 FIXTURE_DIRS = [] > FORCE_SCRIPT_NAME = None FORMAT_MODULE_PATH = None IGNORABLE_404_URLS = [] > INSTALLED_APPS = ['static_pages', ‘widget_tweaks’, ‘captcha’, > ‘django.contrib.admin’, ‘django.contrib.auth’, > ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, > ‘django.contrib.messages’, ‘django.contrib.staticfiles’] INTERNAL_IPS = [] > LANGUAGES = [('af', ‘Afrikaans'), ('ar’, ‘Arabic'), ('ast’, ‘Asturian'), > ('az’, ‘Azerbaijani'), ('bg’, ‘Bulgarian'), ('be’, ‘Belarusian'), ('bn’, > ‘Bengali'), ('br’, ‘Breton'), ('bs’, ‘Bosnian'), ('ca’, ‘Catalan'), ('cs’, > ‘Czech'), ('cy’, ‘Welsh'), ('da’, ‘Danish'), ('de’, ‘German'), ('dsb’, > ‘Lower Sorbian'), ('el’, ‘Greek'), ('en’, ‘English'), ('en-au’, ‘Australian > English'), ('en-gb’, ‘British English'), ('eo’, ‘Esperanto'), ('es’, > ‘Spanish'), ('es-ar’, ‘Argentinian Spanish'), ('es-co’, ‘Colombian > Spanish'), ('es-mx’, ‘Mexican Spanish'), ('es-ni’, ‘Nicaraguan Spanish'), > ('es-ve’, ‘Venezuelan Spanish'), ('et’, ‘Estonian'), ('eu’, ‘Basque'), > ('fa’, ‘Persian'), ('fi’, ‘Finnish'), ('fr’, ‘French'), ('fy’, ‘Frisian'), > ('ga’, ‘Irish'), ('gd’, ‘Scottish Gaelic'), ('gl’, ‘Galician'), ('he’, > ‘Hebrew'), ('hi’, ‘Hindi'), ('hr’, ‘Croatian'), ('hsb’, ‘Upper Sorbian'), > ('hu’, ‘Hungarian'), ('ia’, ‘Interlingua'), ('id’, ‘Indonesian'), ('io’, > ‘Ido'), ('is’, ‘Icelandic'), ('it’, ‘Italian'), ('ja’, ‘Japanese'), ('ka’, > ‘Georgian'), ('kk’, ‘Kazakh'), ('km’, ‘Khmer'), ('kn’, ‘Kannada'), ('ko’, > ‘Korean'), ('lb’, ‘Luxembourgish'), ('lt’, ‘Lithuanian'), ('lv’, > ‘Latvian'), ('mk’, ‘Macedonian'), ('ml’, ‘Malayalam'), ('mn’, ‘Mongolian'), > ('mr’, ‘Marathi'), ('my’, ‘Burmese'), ('nb’, ‘Norwegian Bokmål'), ('ne’, > ‘Nepali'), ('nl’, ‘Dutch'), ('nn’, ‘Norwegian Nynorsk'), ('os’, ‘Ossetic'), > ('pa’, ‘Punjabi'), ('pl’, ‘Polish'), ('pt’, ‘Portuguese'), ('pt-br’, > ‘Brazilian Portuguese'), ('ro’, ‘Romanian'), ('ru’, ‘Russian'), ('sk’, > ‘Slovak'), ('sl’, ‘Slovenian'), ('sq’, ‘Albanian'), ('sr’, ‘Serbian'), > ('sr-latn’, ‘Serbian Latin'), ('sv’, ‘Swedish'), ('sw’, ‘Swahili'), ('ta’, > ‘Tamil'), ('te’, ‘Telugu'), ('th’, ‘Thai'), ('tr’, ‘Turkish'), ('tt’, > ‘Tatar'), ('udm’, ‘Udmurt'), ('uk’, ‘Ukrainian'), ('ur’, ‘Urdu'), ('vi’, > ‘Vietnamese'), ('zh-hans’, ‘Simplified Chinese'), ('zh-hant’, ‘Traditional > Chinese')] LANGUAGES_BIDI = ['he’, ‘ar’, ‘fa’, ‘ur’] LANGUAGE_CODE = > ‘en-us’ LANGUAGE_COOKIE_AGE = None LANGUAGE_COOKIE_DOMAIN = None > LANGUAGE_COOKIE_NAME = ‘django_language’ LANGUAGE_COOKIE_PATH = ‘/’ > LOCALE_PATHS = [] LOGGING = {} LOGGING_CONFIG = ‘logging.config.dictConfig’ > LOGIN_REDIRECT_URL = ‘/accounts/profile/’ LOGIN_URL = ‘/accounts/login/’ > LOGOUT_REDIRECT_URL = None MANAGERS = [] MEDIA_ROOT = '' MEDIA_URL = '' > MESSAGE_STORAGE = ‘django.contrib.messages.storage.fallback.FallbackStorage’ > MESSAGE_TAGS = {40: ‘danger’} MIDDLEWARE = > ['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’] > MIDDLEWARE_CLASSES = ['django.middleware.common.CommonMiddleware', > ‘django.middleware.csrf.CsrfViewMiddleware’] MIGRATION_MODULES = {} > MONTH_DAY_FORMAT = ‘F j’ NOCAPTCHA = True NUMBER_GROUPING = 0 > PASSWORD_HASHERS = ‘********************’ PASSWORD_RESET_TIMEOUT_DAYS = > ‘********************’ PREPEND_WWW = False RECAPTCHA_PRIVATE_KEY = > ‘********************’ RECAPTCHA_PUBLIC_KEY = ‘********************’ > ROOT_URLCONF = ‘crowdcontrol.urls’ SECRET_KEY = ‘********************’ > SECURE_BROWSER_XSS_FILTER = False SECURE_CONTENT_TYPE_NOSNIFF = False > SECURE_HSTS_INCLUDE_SUBDOMAINS = False SECURE_HSTS_SECONDS = 0 > SECURE_PROXY_SSL_HEADER = SECURE_REDIRECT_EXEMPT = [] SECURE_SSL_HOST = > None SECURE_SSL_REDIRECT = True SERVER_EMAIL = ‘root@localhost’ > SESSION_CACHE_ALIAS = ‘default’ SESSION_COOKIE_AGE = 1209600 > SESSION_COOKIE_DOMAIN = None SESSION_COOKIE_HTTPONLY = True > SESSION_COOKIE_NAME = ‘sessionid’ SESSION_COOKIE_PATH = ‘/’ > SESSION_COOKIE_SECURE = True SESSION_ENGINE = > ‘django.contrib.sessions.backends.db’ > SESSION_EXPIRE_AT_BROWSER_CLOSE = False SESSION_FILE_PATH = None > SESSION_SAVE_EVERY_REQUEST = False SESSION_SERIALIZER = > ‘django.contrib.sessions.serializers.JSONSerializer’ SETTINGS_MODULE = > ‘crowdcontrol.settings’ SHORT_DATETIME_FORMAT = ‘m/d/Y P’ SHORT_DATE_FORMAT > = ‘m/d/Y’ SIGNING_BACKEND = ‘django.core.signing.TimestampSigner’ > SILENCED_SYSTEM_CHECKS = [] STATICFILES_DIR = ‘/_static/’ STATICFILES_DIRS > = [] STATICFILES_FINDERS = > ['django.contrib.staticfiles.finders.FileSystemFinder', > ‘django.contrib.staticfiles.finders.AppDirectoriesFinder’] > STATICFILES_STORAGE = ‘django.contrib.staticfiles.storage.StaticFilesStorage’ > STATIC_ROOT = ‘/home/django/django/_static/’ STATIC_URL = ‘/_static/’ > TEMPLATES = [{'DIRS': ['_templates'], ‘APP_DIRS’: True, ‘BACKEND’: > ‘django.template.backends.django.DjangoTemplates’, ‘OPTIONS’: > {'context_processors': ['django.template.context_processors.debug', > ‘django.template.context_processors.request’, > ‘django.contrib.auth.context_processors.auth’, ‘django.contrib.messages. > context_processors.messages']}}] TEST_NON_SERIALIZED_APPS = [] > TEST_RUNNER = ‘django.test.runner.DiscoverRunner’ THOUSAND_SEPARATOR = > ‘,’ TIME_FORMAT = ‘P’ TIME_INPUT_FORMATS = ['%H:%M:%S’, ‘%H:%M:%S.%f’, > ‘%H:%M’] TIME_ZONE = ‘UTC’ USE_ETAGS = False USE_I18N = True USE_L10N = > True USE_THOUSAND_SEPARATOR = False USE_TZ = True USE_X_FORWARDED_HOST = > False USE_X_FORWARDED_PORT = False WSGI_APPLICATION = > ‘crowdcontrol.wsgi.application’ > X_FRAME_OPTIONS = ‘SAMEORIGIN’ YEAR_MONTH_FORMAT = ‘F Y’ > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/django-users. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/django-users/bf997250-aca2-4063-9a37-7129b094cef5%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/bf997250-aca2-4063-9a37-7129b094cef5%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAFWa6tL7cyK1Nu4h7ivHO0PwaqDy0jLNGixdtkynXAP%2BfTUfCA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

