2017-01-30 1 views
1

Я только начал изучать Django. Моим основным источником знаний об этой структуре является книга «Python Web Development с Django» Рудольфа Снеллиуса, Джеффа Форджера и Уэсли Чуна.Конфигурация Django SQlite

Не могли бы вы объяснить мне, как использовать SQlite в Django? Книга несколько лет, поэтому у меня есть некоторые проблемы с настройкой базы данных.

Первый шаг я сделал правильно было создать приложение с помощью команды ./manage.py startapp blog, затем я добавил стих mojprojekt в кортеж INSTALLED_APPS в setting.py файле. Затем я должен добавить стихи DATABASE_ENGINE = 'sqlite3' и DATABASE_NAME = 'path to my project' - settings.py.

Последний шаг - запустить команду ./manage.py syncdb. После этого я получаю сообщение об ошибке:

[email protected]:~/Documents/Django/mojprojekt$ ./manage.py syncdb 
Traceback (most recent call last): 
    File "./manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line 
    utility.execute() 
    File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 328, in execute 
    django.setup() 
    File "/usr/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/usr/lib/python2.7/dist-packages/django/apps/registry.py", line 85, in populate 
    app_config = AppConfig.create(entry) 
    File "/usr/lib/python2.7/dist-packages/django/apps/config.py", line 119, in create 
    import_module(entry) 
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
ImportError: No module named blog 
[email protected]:~/Documents/Django/mojprojekt$ 

Не могли бы вы помочь мне, если вы знаете, где я совершил ошибку?

Update: Вот мое определение приложения:

# Application definition 

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

) 

Это все еще дает тот же результат.

+0

в 'INSTALLED_APPS' должно быть таким же именем, как и в' ./manage.py startapp', так что если вы 'StartApp blog', он должен быть блог, но не' mojproject' –

+0

Если это несколько лет не беспокоиться об этом. Django развился очень много. Ваше приложение должно быть просто «блогами», а не «myproject.blog» – e4c5

ответ

0

Основываясь на полученном стеке, он выглядит так: blog не находится в вашем файле настроек. Проверьте settings.py, под INSTALLED_APPS и добавьте новую запись для 'blog'.

Что касается настройки базы данных в последней версии Django, вы должны посмотреть на this page из документации по настройкам django. В соответствии с этим текущий стиль для настройки DATABASE выглядит следующим образом.

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': 'mydatabase', # This is where you put the name of the db file. 
       # If one doesn't exist, it will be created at migration time. 
    } 
}