Форум сайта python.su
Пытаюсь воспроизвести код по книге Каплана-Мосса, и возникает затруднение при проверке связи с БД.
В settings.py указываю как ‘ENGINE’: ‘sqlite3’, так и ‘ENGINE’: 'django.db.backends.sqlite3, всё равно при проверке из консоли получаю вышеуказанную ошибку. В чём здесь может быть проблема?
C:\Users\Егор\Desktop\untitled1>C:\Python27\python.exe manage.py shell Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win 32 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> from django.db import connection >>> cursor = connection.cursor() Traceback (most recent call last): File "<console>", line 1, in <module> File "C:\Python27\lib\site-packages\django\db\backends\dummy\base.py", line 15 , in complain raise ImproperlyConfigured("settings.DATABASES is improperly configured. " ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. >>>
Отредактировано S (Апрель 25, 2012 10:44:00)
Офлайн
S
Пытаюсь воспроизвести код по книге Каплана-Мосса, и возникает затруднение при проверке связи с БД.
В settings.py указываю как ‘ENGINE’: ‘sqlite3’, так и ‘ENGINE’: 'django.db.backends.sqlite3, всё равно при проверке из консоли получаю вышеуказанную ошибку. В чём здесь может быть проблема?
Офлайн
pustserg
А можно посмотреть на кусок settings.py отвечающий за соединение с базой? Там прописано имя файла.bd ?
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'C:/Users/Егор/YandexDisk/Django/my_blog/database.db', # Or path to database file if using sqlite3. 'USER': '', # 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. } }
Отредактировано S (Апрель 25, 2012 12:11:08)
Офлайн
SНаверное manage.py syncdb
Какой командой тогда его создать?
'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': u'C:/Users/Егор/YandexDisk/Django/my_blog/database.db',
manage.py dbshell
Офлайн
JOHN_16Всё такжеSНаверное manage.py syncdb
Какой командой тогда его создать?
Думаю достаточно так, ведь у вас сам settings.py в utf-8 кодирован?'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': u'C:/Users/Егор/YandexDisk/Django/my_blog/database.db',
Попробуйте это (под рукой винды нет, не знаю ли работает ли там это)Если ли ругаться что нибудь будет - то это прояснит ситуацию.manage.py dbshell
C:\Users\Егор\YandexDisk\Django\my_blog>C:\Python27\python.exe manage.py dbshell Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 443, in execute_from_command_line utility.execute() File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 382, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Python27\lib\site-packages\django\core\management\base.py", line 196, in run_from_argv self.execute(*args, **options.__dict__) File "C:\Python27\lib\site-packages\django\core\management\base.py", line 232, in execute output = self.handle(*args, **options) File "C:\Python27\lib\site-packages\django\core\management\commands\dbshell.py ", line 21, in handle connection.client.runshell() File "C:\Python27\lib\site-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 co nfigured. Please supply the ENGINE value. Check settings documentation for more details. C:\Users\Егор\YandexDisk\Django\my_blog>
Офлайн
А manage.py syncdb нормально отработал? Сейчас специально создал проект в папке D:\тест\ вроде все сработало, файл создался. Вот кусок settings.py
DATABASES = {
'default': {
'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'testproj.db', # Or path to database file if using sqlite3.
'USER': '', # 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.
}
}
Офлайн
Я идиото. Создавал проект с помощью PyCharm, который в корне проекта создал второй файл setting.py (если делать через django-admin.py то второй файл не создаётся) и все параметры писал в этот файл. Мдэ.
А зачем вообще интересно пайчарм его там создаёт?
Офлайн
SА нет, это только в центос не создаёт, а в венде django-admin тоже создаёт два settings.py
Я идиото. Создавал проект с помощью PyCharm, который в корне проекта создал второй файл setting.py (если делать через django-admin.py то второй файл не создаётся) и все параметры писал в этот файл. Мдэ.
А зачем вообще интересно пайчарм его там создаёт?
Офлайн
Хмммм, очень интересный баг. Откуда у вас такой django-admin? )))
Офлайн
django 1.4 изменил структуру проекта:
https://docs.djangoproject.com/en/1.4/releases/1.4/#updated-default-project-layout-and-manage-py
Возможно, причина проблемы в том, что Вы пытаетесь настраивать
my_blog\settings.py
в то время как надо
my_blog\my_blog\settings.py
Офлайн