Django: Hatalı Yapılandırılmış: SECRET_KEY ayarı boş olmamalıdır


106

Bazı temel ayarları içeren birden fazla ayar dosyası (geliştirme, üretim, ..) kurmaya çalışıyorum. Yine de başarılı olamaz. Çalıştırmayı denediğimde ./manage.py runserveraşağıdaki hatayı alıyorum:

(cb)clime@den /srv/www/cb $ ./manage.py runserver
ImproperlyConfigured: The SECRET_KEY setting must not be empty.

İşte ayarlar modülüm:

(cb)clime@den /srv/www/cb/cb/settings $ ll
total 24
-rw-rw-r--. 1 clime clime 8230 Oct  2 02:56 base.py
-rw-rw-r--. 1 clime clime  489 Oct  2 03:09 development.py
-rw-rw-r--. 1 clime clime   24 Oct  2 02:34 __init__.py
-rw-rw-r--. 1 clime clime  471 Oct  2 02:51 production.py

Temel ayarlar (SECRET_KEY içerir):

(cb)clime@den /srv/www/cb/cb/settings $ cat base.py:
# Django base settings for cb project.

import django.conf.global_settings as defaults

DEBUG = False
TEMPLATE_DEBUG = False

INTERNAL_IPS = ('127.0.0.1',)

ADMINS = (
    ('clime', 'clime7@gmail.com'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
        #'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'cwu',                   # Or path to database file if using sqlite3.
        'USER': 'clime',                 # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# In a Windows environment this must be set to your system time zone.
TIME_ZONE = 'Europe/Prague'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = False

# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale.
USE_L10N = False # TODO: make this true and accustom date time input

DATE_INPUT_FORMATS = defaults.DATE_INPUT_FORMATS + ('%d %b %y', '%d %b, %y') # + ('25 Oct 13', '25 Oct, 13')

# If you set this to False, Django will not use timezone-aware datetimes.
USE_TZ = True

# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/media/"
MEDIA_ROOT = '/srv/www/cb/media'

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = '/media/'

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = '/srv/www/cb/static'

# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'

# Additional locations of static files
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

# Make this unique, and don't share it with anybody.
SECRET_KEY = '8lu*6g0lg)9z!ba+a$ehk)xt)x%rxgb$i1&022shmi1jcgihb*'

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth',
    'django.core.context_processors.request',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.static',
    'django.core.context_processors.tz',
    'django.contrib.messages.context_processors.messages',
    'web.context.inbox',
    'web.context.base',
    'web.context.main_search',
    'web.context.enums',
)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'watson.middleware.SearchContextMiddleware',
    'debug_toolbar.middleware.DebugToolbarMiddleware',
    'middleware.UserMemberMiddleware',
    'middleware.ProfilerMiddleware',
    'middleware.VaryOnAcceptMiddleware',
    # Uncomment the next line for simple clickjacking protection:
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

ROOT_URLCONF = 'cb.urls'

# Python dotted path to the WSGI application used by Django's runserver.
WSGI_APPLICATION = 'cb.wsgi.application'

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    '/srv/www/cb/web/templates',
    '/srv/www/cb/templates',
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'south',
    'grappelli', # must be before admin
    'django.contrib.admin',
    'django.contrib.admindocs',
    'endless_pagination',
    'debug_toolbar',
    'djangoratings',
    'watson',
    'web',
)

AUTH_USER_MODEL = 'web.User'

# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error when DEBUG=False.
# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'formatters': {
        'standard': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        },
        'null': {
            'level':'DEBUG',
            'class':'django.utils.log.NullHandler',
        },
        'logfile': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': "/srv/www/cb/logs/application.log",
            'maxBytes': 50000,
            'backupCount': 2,
            'formatter': 'standard',
        },
        'console':{
            'level':'INFO',
            'class':'logging.StreamHandler',
            'formatter': 'standard'
        },
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
        'django': {
            'handlers':['console'],
            'propagate': True,
            'level':'WARN',
        },
        'django.db.backends': {
            'handlers': ['console'],
            'level': 'DEBUG',
            'propagate': False,
        },
        'web': {
            'handlers': ['console', 'logfile'],
            'level': 'DEBUG',
        },
    },
}

LOGIN_URL = 'login'
LOGOUT_URL = 'logout'

#ENDLESS_PAGINATION_LOADING = """
#    <img src="/static/web/img/preloader.gif" alt="loading" style="margin:auto"/>
#"""
ENDLESS_PAGINATION_LOADING = """
    <div class="spinner small" style="margin:auto">
        <div class="block_1 spinner_block small"></div>
        <div class="block_2 spinner_block small"></div>
        <div class="block_3 spinner_block small"></div>
    </div>
"""

DEBUG_TOOLBAR_CONFIG = {
    'INTERCEPT_REDIRECTS': False,
}

import django.template.loader
django.template.loader.add_to_builtins('web.templatetags.cb_tags')
django.template.loader.add_to_builtins('web.templatetags.tag_library')

WATSON_POSTGRESQL_SEARCH_CONFIG = 'public.english_nostop'

Ayar dosyalarından biri:

(cb)clime@den /srv/www/cb/cb/settings $ cat development.py 
from base import *

DEBUG = True
TEMPLATE_DEBUG = True

ALLOWED_HOSTS = ['127.0.0.1', '31.31.78.149']

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'cwu',
        'USER': 'clime',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
}

MEDIA_ROOT = '/srv/www/cb/media/'

STATIC_ROOT = '/srv/www/cb/static/'

TEMPLATE_DIRS = (
    '/srv/www/cb/web/templates',
    '/srv/www/cb/templates',
)

Kod manage.py:

(cb)clime@den /srv/www/cb $ cat manage.py 
#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cb.settings.development")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

Eğer from base import *içine eklersem /srv/www/cb/cb/settings/__init__.py(aksi halde boştur), sihirli bir şekilde çalışmaya başlar ama nedenini anlamıyorum. Bana burada neler olduğunu kimse açıklayabilir mi? Biraz python modülü büyüsü olmalı.

DÜZENLEME: Bu satırı base.py'den kaldırırsam da her şey çalışmaya başlar.

django.template.loader.add_to_builtins('web.templatetags.cb_tags')

Bu satırı web.templatetags.cb_tags'den kaldırırsam, aynı zamanda çalışmaya başlar:

from endless_pagination.templatetags import endless

Sanırım bunun sebebi sonunda

from django.conf import settings
PER_PAGE = getattr(settings, 'ENDLESS_PAGINATION_PER_PAGE', 10)

Yani bazı garip dairesel şeyler yaratır ve oyun biter.


Tam olarak, sonunda django.conf'tan olsa bile ayarlara ihtiyacınız olacak
Guilherme David da Costa

2
DJANGO_SETTINGS_MODULE'nuzu settings.development olarak değiştirmeyi deneyin
Guilherme David da Costa

Virutalenvwrapper kullanan herkes, crimeminister'ın cevabını stackoverflow.com/questions/10738919/…
lukeaus

Yanıtlar:


113

Aynı hatayı aldım ve ayarlar tarafından yüklenen bir modül veya sınıf ile ayarlar modülünün kendisi arasında döngüsel bir bağımlılık olduğu ortaya çıktı. Benim durumumda, ayarları yüklemeye çalışan ayarlarda adlandırılan bir ara yazılım sınıfıydı.


4
Evet, bence döngüsellik bunu yapıyor.
clime

5
Döngüsel bağımlılığı önlemek için yeniden düzenleyin. Kesin çözüm gerçekten oldukça kendi kodunuza özgüdür.
Sam Svenbjorgchristiensensen

6
İpucu: Soruna neyin neden olduğunu belirlemek için, örneğin ayarlar dosyasına rastgele bir yazdırma ifadesi ekleyin ve nerede bozulduğunu görmek için hareket ettirin.
Felix Böhme

17
Bununla bir cevap bulamadım.
Avinash'ın Raj

8
Bu cevap daha spesifik olsaydı daha faydalı olurdu ... sorunun "bir şey" olduğunu söylüyor.
Hack-R

75

Daniel Greenfield'ın Two scoops of Django kitabındaki talimatlara göre ayarları yeniden yapılandırdıktan sonra aynı problemle karşılaştım .

Sorunu ayarlayarak çözdüm

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings.local")

içinde manage.pyve wsgi.py.

Güncelleme:

Yukarıdaki çözümde, localyerel ortamım için ayarları tutan ayarlar klasörümün içindeki dosya adı (settings / local.py) var.

Bu sorunu çözmenin başka bir yolu, tüm genel ayarlarınızı settings / base.py içinde tutmak ve ardından üretim, hazırlık ve geliştirme ortamlarınız için 3 ayrı ayar dosyası oluşturmaktır.

Ayarlar klasörünüz şöyle görünecek:

settings/
    __init__.py
    base.py
    local.py
    prod.py
    stage.py

ve aşağıdaki kodu yanınızda bulundurun settings/__init__.py

from .base import *

env_name = os.getenv('ENV_NAME', 'local')

if env_name == 'prod':
    from .prod import *
elif env_name == 'stage':
    from .stage import *
else:
    from .local import *

Wagtail'i PythonAnywhere üzerinde kullanan herkes için '.dev' ekleyin. Bu satırın sonunda WSGI ... os.environ ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings.dev' daha sonra şifreleriniz vb. için kaynak deponuzun dışında bir local.py oluşturmanız gerekecektir.
Inyoka

En iyi cevap olmalı
Geliştirme

ImportError: Yerel olarak adlandırılan modül yok
Dheeraj M Pai

@Tessaracter yerine kullandığınız ayarlar dosyasının adını kullanın local. Benim durumumda, yerel ayarlar dosya ayarlarında tutuldu / local.py
Jinesh

2
Bu, Django kurallarını ihlal eder, uygun şekilde belgelenmiş DJANGO_SETTINGS_MODULEolanı, kutudan çıkar çıkmaz desteklenmeyen ve manuel olarak ele alınması gereken yeni bir özel ortam değişkeniyle değiştirir . Bunun bu kadar çok olumlu oyu olmasına şaşırdım. Bu kurulumla bir proje üzerinde çalışıyorum ve yerel geliştirme için izole edilmiş bir ortamın yapılandırılmasındaki zorluklardan harici kitaplıkların DJANGO_SETTINGS_MODULEbeklendiği gibi çalışmasını bekledikleri için dış kütüphanelerin kırılmasına kadar pek çok sorunla karşılaşıyoruz .
Ariel

21

İle aynı hatayı yaptım python manage.py runserver.

Benim için, eski bir derlenmiş ikili (.pyc) dosyasından kaynaklandığı ortaya çıktı. Projemdeki tüm bu tür dosyaları sildikten sonra sunucu tekrar çalışmaya başladı. :)

Yani bu hatayı hiçbir yerden alırsanız, yani django ayarlarıyla ilişkili görünen herhangi bir değişiklik yapmadan, bu iyi bir ilk önlem olabilir.


2
bu ipucu için teşekkürler. Dev sunucumda da aynı bir sorun vardı. Tüm .pyc dosyalarını proje klasöründen silmek hile yaptı. Bunun gerçekleşmesinden hemen önce settings.py dosyasını düzenliyordum.
croc

16

.Pyc dosyalarını kaldırın

.Pyc'i silmek için Ubuntu terminal komutu: find . -name "*.pyc" -exec rm -rf {} \;

Python manage.py runserver yaptığımda da aynı hatayı aldım. Bunun nedeni .pyc dosyasıydı. .Pyc dosyasını proje dizininden sildim ve çalışıyordu.


3
find . -type f -name *.pyc -deleteyapacak
Srinivas Reddy Thatiparthy

9

Ayarlar dosyasını belirtmemiştim:

python manage.py runserver --settings=my_project.settings.develop

6

Çalışmaya başlar çünkü base.py üzerinde gerekli tüm bilgilere temel ayarlar dosyasında sahipsiniz. Şu satıra ihtiyacınız var:

SECRET_KEY = '8lu*6g0lg)9z!ba+a$ehk)xt)x%rxgb$i1&amp;022shmi1jcgihb*'

Yani işe yarıyor ve bunu yaptığınızda from base import *, SECRET_KEY'i development.py.

Herhangi bir özel ayar yapmadan önce her zaman temel ayarları içe aktarmalısınız.


DÜZENLEME: En paketinden Django ithalat geliştirme, bu tabanın içindeki tüm değişkenleri başlatır Ayrıca, tanımlanmış beri from base import *içeride__init__.py


üzgünüm, ne demek istediğini anlamadım. Development.py'nin başlangıcında taban ithalatı * vardı ve işe yaramadı.
2013

Üzgünüm, gerçekte ne olup bittiğine bakılmaksızın içeri girdim. Django, init .py'deki tabanı içe aktardığınızda çalışmanın nedeni gibi göründüğü için, geliştirme.py yerine ayarlardan ayarları içe aktarmaya çalışıyor
Guilherme David da Costa

5

Bunun Çevre hatası olduğunu düşünüyorum, ayarlamayı denemelisiniz:DJANGO_SETTINGS_MODULE='correctly_settings'


4

Kereviz ile aynı sorunu yaşadım. Benim setting.py daha önce :

SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY')

sonra:

SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', <YOUR developing key>)

Ortam değişkenleri tanımlanmamışsa: SECRET_KEY = SİZİN geliştirme anahtarınız


4

Gelen init ayarları dizinin .py, doğru ithalat gibi yazmak:

from Project.settings.base import *

Wsgi.py veya manage.py'yi değiştirmeye gerek yok


Mükemmel! Teşekkürler.
Mayur

3

OS X'te hem 1.5 hem de 1.6 Django ile oluşan bu sorunu virtualenv'e tüm aktif oturumları devre dışı bırakıp yeniden başlatarak çözdüm.


2

Karışıma başka bir olası çözüm eklemek için, proje direktörümde settingsolduğu gibi bir klasörüm de vardı settings.py. (Ortam tabanlı ayar dosyalarından bir dosyaya geri dönüyordum. O zamandan beri yeniden gözden geçirdim.)

Python Ben ithal etmek istediği konusunda karışık alıyorum project/settings.pyya project/settings/__init__.py. settingsDir'i kaldırdım ve şimdi her şey iyi çalışıyor.


2

PyCharm kullanan herkes için: yeşil "Seçilen yapılandırmayı çalıştır" düğmesi bu hataya neden olur, ancak aşağıdaki çalışmaları yürütür:

py manage.py runserver 127.0.0.1:8000 --settings=app_name.settings.development

Bunu düzeltmek için konfigürasyonun ortam değişkenlerini düzenlemeniz gerekir. Bunu yapmak için, yeşil çalıştır düğmesinin solundaki "Çalıştır / hata ayıklama yapılandırmasını seç" açılır menüsünü tıklayın ve ardından "yapılandırmayı düzenle" yi tıklayın. "Ortam" sekmesinin altında ortam değişkenini olarak DJANGO_SETTINGS_MODULEdeğiştirin app_name.settings.development.


1

Veritabanımın adı dosyamda yanlış yazıldığında bu hatayı aldığımı eklemek istedim, settings.pyböylece DB oluşturulamadı.


1

Bu sorunu 1.8.4'te bir yazım hatası olan ŞABLONLAR ayarlarını düzelterek çözdüm (ŞABLONLARI ['hata ayıklama'] kaldırarak çözdüm)

Yakın zamanda değiştirdiğiniz ayarların üzerinden gidin, tüm tuşların kitapta olduğundan emin olun.


0

Dosyamdaki eşit işaretlerin ( =) etrafındaki boşlukları kaldırarak bu sorunu çözdüm .env.


0

Benim durumumda sorun şuydu - bende app_folderve bende vardı settings.py. Sonra Settings folderiçeriye girmeye karar verdim app_folder- ve bu bir çarpışma yarattı settings.py. Sadece yeniden adlandırdı Settings folder- ve her şey işe yaradı.


0

Mac OS, ayarlar dosyasında ayarlanan env değişkenini bulmamasından hoşlanmadı:

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = os.environ.get('MY_SERVER_ENV_VAR_NAME')

ancak env değişkenini yerel Mac OS geliştirme ortamıma ekledikten sonra hata ortadan kalktı:

export MY_SERVER_ENV_VAR_NAME ='fake dev security key that is longer than 50 characters.'

Benim durumumda, --settingsparam'ı da eklemem gerekiyordu :

python3 manage.py check --deploy --settings myappname.settings.production

Burada üretim.py, bir ayarlar klasöründe üretime özgü ayarları içeren bir dosyadır.


0

Benim için sorun get_text_noop, LANGUAGES yinelenebilir bir şekilde aramaktı.

Değiştirme

LANGUAGES = (
    ('en-gb', get_text_noop('British English')),
    ('fr', get_text_noop('French')),
)

-e

from django.utils.translation import gettext_lazy as _

LANGUAGES = (
    ('en-gb', _('British English')),
    ('fr', _('French')),
)

temel ayarlar dosyasında ImproperlyConfigured: The SECRET_KEY setting must not be emptyistisnayı çözdü .


0

Yukarıdaki sorunu ayarlarımdaki satırı yorumlayarak çözdüm.py

SECRET_KEY=os.environ.get('SECRET_KEY')

SECRET_KEYdosyamda beyan edildi ~/.bashrc(linux Ubuntu kullanıcıları için)

Yerel makinemde geliştirme amacıyla evironmnet değişkenini kullanmadım

SECRET_KEY = '(i9b4aes#h1)m3h_8jh^duxrdh$4pu8-q5vkba2yf$ptd1lev_'

yukarıdaki çizgi hatayı vermedi


0

Benim durumumda, bir Github eylemi kurarken, env değişkenlerini yml dosyasına eklemeyi unuttum:

jobs:
  build:
    env:
     VAR1: 1
     VAR2: 5

0

Bu kadar çok farklı cevap olmasının nedeni, istisnanın muhtemelen SECRET_KEY ile hiçbir ilgisi olmamasıdır. Muhtemelen yutulmakta olan daha önceki bir istisnadır. Gerçek istisnayı görmek için DEBUG = True kullanarak hata ayıklamayı açın.


0

Benim durumumda, uzun bir aramadan sonra, Django ayarlarınızda (Ayarlar> Diller ve Çerçeveler> Django) PyCharm'ın yapılandırma dosyası alanının tanımsız olduğunu buldum. Bu alanı projenizin ayarlar dosyasına işaret etmelisiniz. Ardından, Çalıştır / Hata Ayıklama ayarlarını açmalı ve ortam değişkeni DJANGO_SETTINGS_MODULE = mevcut yolu kaldırmalısınız.

Bunun nedeni PyCharm'daki Django eklentisinin çerçevenin yapılandırmasını zorlamasıdır. Dolayısıyla, herhangi bir os.environ.setdefault ('DJANGO_SETTINGS_MODULE', 'myapp.settings') yapılandırmanın bir anlamı yoktur.


0

Base.py dosyasını __init__.py tek başına içe aktarın . aynı yapılandırmayı tekrar etmeyeceğinizden emin olun !.

ortam değişkenini ayarla SET DJANGO_DEVELOPMENT =dev

settings/
  __init__.py
  base.py
  local.py
  production.py

İçinde __init__.py

from .base import *
if os.environ.get('DJANGO_DEVELOPMENT')=='prod':
   from .production import *
else:
   from .local import *

Olarak base.pyküresel yapılandırmaları konfigüre edilmiştir. Veritabanı hariç. sevmek

SECRET_KEY, ALLOWED_HOSTS,INSTALLED_APPS,MIDDLEWARE .. etc....

İçinde local.py

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'database',
    'USER': 'postgres',
    'PASSWORD': 'password',
    'HOST': 'localhost',
    'PORT': '5432',
}
}

0

Buraya aynı sorunlarla karşılaştığım için cevap aramaya geldim, buradaki cevapların hiçbiri benim için işe yaramadı. Sonra diğer web sitelerinde arama yaptıktan sonra bu basit düzeltmeye rastladım. Benim için çalıştı

wsgi.py

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'yourProject.settings')

-e

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'yourProject.settings.dev')

0

İlginç bir çözümü paylaşmama izin verin!

SECRET_KEY = "*** & ^% $ #" ayar paketleri init .py dosyasına koydum ve hata ortadan kalktı! aslında bir yükleme sorunu!

Umarım bu hızlı çözüm bazılarınız için yararlıdır!


0

django'yu içe aktarmayı deneyin ve ardından django.setup () 'ı secret_key tanımından sonra çalıştırın. böyle:

SECRET_KEY = 'it5bs))q6toz-1gwf(+j+f9@rd8%_-0nx)p-2!egr*y1o51=45XXCV'
django.setup()

hayır, bu bir aptal
Muhuri Jacksons
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.