2017-01-30 68 views
1

我剛開始學習Django。我關於該框架的主要知識來源是由Rudolph Snellius,Jeff Forcier和Wesley Chun編寫的書籍「Django的Python Web開發」。Django SQlite配置

你能解釋一下如何在Django中使用SQlite嗎?這本書已有幾年了,這就是爲什麼我在配置數據庫時遇到了一些問題。

第一步我已經做正確地是與指令./manage.py startapp blog創建一個應用程序,然後我加入詩mojprojektsetting.py文件到元組INSTALLED_APPS。然後,我必須添加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$ 

如果你知道我犯了什麼錯誤,你能幫助我嗎?

更新:這是我的應用程序定義:

# 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

了'mojproject' –

+0

如果它是一個幾歲以前不打擾它。 Django發展很多。你的應用應該只是'博客'而不是'myproject.blog' – e4c5

回答

0

根據您收到的堆棧跟蹤,它看起來像blog不在您的設置文件中。檢查INSTALLED_APPS下的settings.py,併爲'blog'添加新條目。

至於在最新版本的Django中設置數據庫,您應該從django設置文檔中查看this page。據此,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. 
    } 
} 
在`INSTALLED_APPS`應該是相同的名稱作爲`./manage.py startapp`,所以如果你`的startApp blog`,應該是博客,但不