Python 秘钥在那里,虽然它说在django没有秘钥

Python 秘钥在那里,虽然它说在django没有秘钥,python,django,Python,Django,当我运行python manage.py runserver或python manage.py migrate时。我发现了这些错误 Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/sroy8091/college/local/lib/python2.7/site-packag

当我运行python manage.py runserver或python manage.py migrate时。我发现了这些错误

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 190, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 40, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 14, in <module>
    from django.db.migrations.executor import MigrationExecutor
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 6, in <module>
    from .loader import MigrationLoader
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 10, in <module>
    from django.db.migrations.recorder import MigrationRecorder
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 9, in <module>
    class MigrationRecorder(object):
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 23, in MigrationRecorder
    class Migration(models.Model):
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 24, in Migration
    app = models.CharField(max_length=255)
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 1081, in __init__
    super(CharField, self).__init__(*args, **kwargs)
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 161, in __init__
    self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/conf/__init__.py", line 48, in __getattr__
    self._setup(name)
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/conf/__init__.py", line 44, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/sroy8091/college/local/lib/python2.7/site-packages/django/conf/__init__.py", line 113, in __init__
    raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
我还发出了初始化数据库的sql命令,这里的密钥也不是空的。尽管它一直在说。我不知道如何处理这个问题。 这是我的项目目录

我甚至尝试创建一个settings.py文件,但也出现了此错误。

然后尝试:

python manage.py runserver --settings=kgecweb.settings.development
我猜您没有使用内置setting.py,或者您重命名了它,或者创建了一个目录来处理不同的settings.py

编辑
  • 确保您的项目位于python路径中,并使用此路径查找

    import sys
    print(sys.path)
    
  • 或者,您可以在kgecweb(应用程序)中创建一个settings.py,然后运行

  • 如果有效,您只需尝试:

    python manage.py runserver --settings=kgecweb.settings.development
    

从vanilla
settings.py
中,您可以通过设置一个环境变量来告诉设置要使用的设置来指定要执行的设置。比如说

假设在settings.py中有一个名为DJANGO_env='prod'的env变量

import os

environment = os.environ.get('DJANGO_ENV', 'dev')
if environment == 'prod':
     from project_folder.production_settings import *
else:
     from project_folder.development_settings import *

#rest of code

您将文件名拼写错误

改变

devlopment.py 


直接调用文件时一切都应该正常

是的,有两个设置文件一个用于生产,一个用于开发如果您的设置文件放在一个目录中调用设置,你应该试试:python manage.py runserver--settings=your_project.settings.your_real_setting.pyyes我有一个settings文件夹,其中有两个文件development.py和production.py。当我尝试python manage.py runserver--settings=kgecweb.settings.development.py时,它说没有名为development.python manage.py的模块仍然没有出现,没有名为development.python manage.py runserver--settings=kgecweb.settings.development,如果仍然不起作用,请将您的项目目录集
SECRET\u KEY
发布到一个很长的页面(大约30个字符)随机字符串。我在设置中有30个字符长的密钥
import os

environment = os.environ.get('DJANGO_ENV', 'dev')
if environment == 'prod':
     from project_folder.production_settings import *
else:
     from project_folder.development_settings import *

#rest of code
devlopment.py 
development.py