2012-02-16 53 views
2

Im新的django和python,試圖在我的系統上運行一段Django代碼,但即時通訊運行到這些問題,即時運行版本2.7 python和v1.4 djangoAttributeError:'設置'對象沒有任何屬性'DATABASE_ENGINE'

$ python manage.py runserver 
Running in development mode. 
Running in development mode. 
Running in development mode. 
Running in development mode. 
Validating models... 

HACKUING USER MODEL 
Unhandled exception in thread started by <bound method Command.inner_run of <django.contrib.staticfiles.management.commands.runserver.Command object at 0x101981e50>> 
Traceback (most recent call last): 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 91, in inner_run 
    self.validate(display_num_errors=True) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 266, in validate 
    num_errors = get_validation_errors(s, app) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/validation.py", line 30, in get_validation_errors 
    for (app_name, error) in get_app_errors().items(): 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/models/loading.py", line 158, in get_app_errors 
    self._populate() 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/models/loading.py", line 64, in _populate 
    self.load_app(app_name, True) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/models/loading.py", line 88, in load_app 
    models = import_module('.models', app_name) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/Users/Kinnovate/Desktop/fsdjango/platformsite/notices/models.py", line 9, in <module> 
    from common.fields import PickleField 
    File "/Users/Kinnovate/Desktop/fsdjango/platformsite/common/fields/__init__.py", line 1, in <module> 
    from pickle import * 
    File "/Users/Kinnovate/Desktop/fsdjango/platformsite/common/fields/pickle.py", line 27, in <module> 
    mysql_backend = settings.DATABASE_ENGINE == 'mysql' 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/functional.py", line 186, in inner 
    return func(self._wrapped, *args) 
AttributeError: 'Settings' object has no attribute 'DATABASE_ENGINE' 

這是settings.py的部分相關的問題

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': os.path.join(DIRNAME, 'database.sqlite3'), # 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. 
    } 
} 

我該如何解決這一問題?

+0

請提供型號代碼來檢查模型中的字段類型。 – Nilesh 2012-02-16 08:18:14

回答

5

什麼是/Users/Kinnovate/Desktop/fsdjango/platformsite/common/fields/pickle.py?它是你的代碼嗎?那麼你有一個錯誤,因爲你真的沒有DATABASE_ENGINE在你的seetings。改爲使用settings.DATABASES['default']['ENGINE']

1

你失去了一些東西

因爲隨着你的回溯數據庫必須是mysql

File "/Users/Kinnovate/Desktop/fsdjango/platformsite/common/fields/pickle.py", line 27, in <module> 
    mysql_backend = settings.DATABASE_ENGINE == 'mysql' 
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/functional.py", line 186, in inner 
    return func(self._wrapped, *args) 

因爲它輸入在mysql_backend = settings.DATABASE_ENGINE == 'mysql'行。

根據您的設置'ENGINE': 'django.db.backends.sqlite3',所以它必須輸入sqlite請檢查您的應用程序,因爲它可能是您的settings.py可能是從另一個地方引用。

相關問題