„settings.DATABASES е неправилно конфигуриран“ грешка при изпълнение на syncdb с django 1.6.8

Настроих devstack juno и django версия 1.6.8. когато искате да изпълните тази команда

python manage.py runserver

Получих следната грешка:

WARNING:root:No local_settings file found.
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.

Конфигурирах settings.py на django и този файл изглежда така:

ALLOWED_HOSTS = ['*']


# Application definition

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

MIDDLEWARE_CLASSES = (
    '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',
)

ROOT_URLCONF = '{{ project_name }}.urls'

WSGI_APPLICATION = '{{ project_name }}.wsgi.application'


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': '',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}


# Internationalization
# https://docs.djangoproject.com/en/{{ docs_version }}/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/{{ docs_version }}/howto/static-files/

STATIC_URL = '/static/'

try:
    from local_settings import *
except ImportError:
    pass

И все пак тези грешки се намират в eclipse, когато искам да стартирам в eclipse

Horizon --> Django--> Sync DB(manage.py syncdb)

WARNING:root:No local_settings file found.
Traceback (most recent call last):
  File "/home/stack/git/horizon/manage.py", line 23, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 415, in handle
    return self.handle_noargs(**options)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs
    cursor = connection.cursor()
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 162, in cursor
    cursor = util.CursorWrapper(self._cursor(), self)
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/dummy/base.py", line 15, in complain
    raise ImproperlyConfigured("settings.DATABASES is improperly configured. "
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.
Finished "/home/stack/git/horizon/manage.py syncdb" execution.

Моля, помогнете ми да разреша тази грешка.

Редактирано:

Първо имам проблем със зададения DJANGO_SETTINGS_MODULE.

Зададох DJANGO_SETTINGS_MODULE на openstack_dashboard.settings.

и в папката horizon/openstack_dashboard намерих settings.py и използвам връзка с база данни, както е отговорено по-долу. Сега проработи!!!


person Syed Md. Kamruzzaman    schedule 17.12.2014    source източник
comment
Намерих това: ПРЕДУПРЕЖДЕНИЕ:root:Не е намерен файл local_settings. CommandError: Трябва да зададете настройки.ALLOWED_HOSTS, ако DEBUG е False.   -  person Syed Md. Kamruzzaman    schedule 17.12.2014


Отговори (1)


Не сте посочили NAME от базата данни.

редактиране

Първо трябва да създадете база данни с какъвто и инструмент за администриране на база данни да използвате. След това задайте името му във вашата променлива settings.py NAME.

Пример:

Ако създадете нова база данни, наречена mysiteDB, тогава във вашия файл settings.py трябва да направите следното:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'mysiteDB',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}
person xyres    schedule 17.12.2014
comment
Коя база данни трябва да дам. Имам настройка devstack и мога да осъществя достъп чрез mysqlworkbench като root. Опитах да дам нова, но не се получи. - person Syed Md. Kamruzzaman; 17.12.2014
comment
Благодаря за отговора. Намерих две настройки.py в това местоположение 1. /home/Django/build/lib.linux-x86_64- 2.7/django/conf/project_template/project_name 2. /home/Django/django/conf/project_template/project_name. Промених в този набор от файлове ALLOWED_HOSTS = ['*'] и замених вашия низ за свързване към базата данни, но все още същият. - person Syed Md. Kamruzzaman; 17.12.2014
comment
Какво имаш предвид два файла с настройки? - person xyres; 17.12.2014
comment
Имам два файла settings.py. Трябва ли да редактирам тези двете? - person Syed Md. Kamruzzaman; 17.12.2014
comment
Един проект и два файла с настройки? Странно. Да, редактирайте и двете. - person xyres; 17.12.2014