2010-07-14 3 views
1
DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': 'djangobb',      # Or path to database file if using sqlite3. 
     'USER': 'root',      # Not used with sqlite3. 
     'PASSWORD': 'root',     # 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. 
    } 
} 

아이디어가 있으십니까? 그것은 장고 버전 별 아니에요 있도록왜 장고는 내가 아직 내 엔진을 설정하지 않았다고 불평합니까?

Environment: 

Request Method: GET 
Request URL: http://localhost:8000/admin/ 
Django Version: 1.2.1 
Python Version: 2.5.4 
Installed Applications: 
['django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.sitemaps', 
'django.contrib.admin', 
'django.contrib.admindocs', 
'registration', 
'django_authopenid', 
'djangobb_forum', 
'djapian', 
'messages'] 
Installed Middleware: 
('django.middleware.cache.UpdateCacheMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.locale.LocaleMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.csrf.middleware.CsrfMiddleware', 
'django_authopenid.middleware.OpenIDMiddleware', 
'django.middleware.cache.FetchFromCacheMiddleware', 
'django.middleware.transaction.TransactionMiddleware', 
'djangobb_forum.middleware.LastLoginMiddleware', 
'djangobb_forum.middleware.UsersOnline') 


Traceback: 
File "C:\Python25\Lib\site-packages\django\core\handlers\base.py" in get_response 
    80.      response = middleware_method(request) 
File "C:\Python25\Lib\site-packages\django\middleware\locale.py" in process_request 
    16.   language = translation.get_language_from_request(request) 
File "C:\Python25\Lib\site-packages\django\utils\translation\__init__.py" in get_language_from_request 
    90.  return real_get_language_from_request(request) 
File "C:\PYTHON25\lib\site-packages\django\utils\functional.py" in _curried 
    55.   return _curried_func(*(args+moreargs), **dict(kwargs, **morekwargs)) 
File "C:\Python25\Lib\site-packages\django\utils\translation\__init__.py" in delayed_loader 
    36.  return getattr(trans, real_name)(*args, **kwargs) 
File "C:\Python25\Lib\site-packages\django\utils\translation\trans_real.py" in get_language_from_request 
    339.   lang_code = request.session.get('django_language', None) 
File "C:\Python25\Lib\site-packages\django\contrib\sessions\backends\base.py" in get 
    63.   return self._session.get(key, default) 
File "C:\Python25\Lib\site-packages\django\contrib\sessions\backends\base.py" in _get_session 
    172.     self._session_cache = self.load() 
File "C:\Python25\Lib\site-packages\django\contrib\sessions\backends\db.py" in load 
    20.     expire_date__gt=datetime.datetime.now() 
File "C:\Python25\lib\site-packages\django\db\models\manager.py" in get 
    132.   return self.get_query_set().get(*args, **kwargs) 
File "C:\Python25\Lib\site-packages\django\db\models\query.py" in get 
    336.   num = len(clone) 
File "C:\Python25\Lib\site-packages\django\db\models\query.py" in __len__ 
    81.     self._result_cache = list(self.iterator()) 
File "C:\Python25\Lib\site-packages\django\db\models\query.py" in iterator 
    269.   for row in compiler.results_iter(): 
File "C:\Python25\Lib\site-packages\django\db\models\sql\compiler.py" in results_iter 
    672.   for rows in self.execute_sql(MULTI): 
File "C:\Python25\Lib\site-packages\django\db\models\sql\compiler.py" in execute_sql 
    717.    sql, params = self.as_sql() 
File "C:\Python25\Lib\site-packages\django\db\models\sql\compiler.py" in as_sql 
    56.   out_cols = self.get_columns(with_col_aliases) 
File "C:\Python25\Lib\site-packages\django\db\models\sql\compiler.py" in get_columns 
    185.      col_aliases) 
File "C:\Python25\Lib\site-packages\django\db\models\sql\compiler.py" in get_default_columns 
    273.     r = '%s.%s' % (qn(alias), qn2(field.column)) 
File "C:\Python25\Lib\site-packages\django\db\models\sql\compiler.py" in quote_name_unless_alias 
    43.   r = self.connection.ops.quote_name(name) 
File "C:\Python25\lib\site-packages\django\db\backends\dummy\base.py" in complain 
    15.  raise ImproperlyConfigured("You haven't set the database ENGINE setting yet.") 

Exception Type: ImproperlyConfigured at /admin/ 
Exception Value: You haven't set the database ENGINE setting yet. 
+0

django 1.2를 새로운 데이터베이스 구성 스타일과 함께 사용하고 있습니까? – sdolan

+0

데이터베이스 구성 측면에서 1.1과 1.2 사이에 중요한 차이점이 있습니까? Djangobb는 Django 1.1이 필요하다고 말했지만 이전에 Django 1.2를 설치했습니다. 그게 바로 거기있을 수 있습니다. –

+0

예 MultiDB 지원이 1.2에 추가되었을 때 사용중인 구성이 도입되었습니다. – sdolan

답변

2

내가 내에게 옛날 방식과 새로운 방식을 설정 : 나는 manage.py과 함께 syncdb 명령을 실행할 수 없습니다,

DATABASE_ENGINE = 'django.db.backends.sqlite3' 
DATABASE_NAME  = '/path/to/db/foo.sqlite3' 
DATABASE_USER  = '' 
DATABASE_PASSWORD = '' 
DATABASE_HOST  = '' 
DATABASE_PORT  = '' 

DATABASES = { 
    'default': { 
    'ENGINE': DATABASE_ENGINE, 
    'NAME':  DATABASE_NAME, 
    'USER':  DATABASE_USER, 
    'PASSWORD': DATABASE_PASSWORD, 
    'HOST':  DATABASE_HOST, 
    'PORT':  DATABASE_PORT, 
    } 
} 

하지만 그래 I 설치가 생각하는 버전인지 다시 확인하십시오.

UPDATE :

당신은 관리자 모듈의 설정에서 무언가를 가져 오려고하고 설정에서 관리 모듈을 수입 할 수있다. 때로는 순환 수입으로 인해 위의 결과가 발생합니다. 그것은 어떤 깊은 어두운 레벨에서 "사이트"테이블에보고를 강제로 끝나는 때문에,이 발생할 수 있습니다 설정 내 역 ("URL 이름을")를 사용하여 특히

, ...

UPDATE2 :

죄송합니다, 설명하기 위 :

  • 모듈 B에서 모듈 A의 수입은, 어떤 수준에서, 모듈 B는 그 동안 어떤 시점에서 모듈 A.에서 물건을 필요로 할 때 원형의 수입은 두 번째 수준의 깊이, 그것은 일반적으로 일부 inscrutable 방법으로 실패합니다.
  • Reverse()는 url의 이름 (urls.py에서 name = "foo")을 URL 자체로 돌려 보내는 함수입니다. 이렇게하면 설정이나 관리 모듈에서 항상 가능한 것은 아닙니다.

갱신 3 :

당신이 용어의 일부를 분해, 지적 djangobb.org/ticket/81 티켓을 보면은 CSRF 토큰은 크로스 사이트 요청 위조 보호를 추가하는 데 사용되는 템플릿 태그입니다 :

그것은 일반적으로 내 프로젝트에서 grep을 위해, 다음과 같습니다

http://docs.djangoproject.com/en/dev/ref/contrib/csrf/

:

# grep -ri csrf . 
    ./registration/login.html: <form method="post" action="{% url django.contrib.auth.views.login %}">{% csrf_token %} 

djapian의 트렁크에 관한 비트는 djapian이 나 자신인지 알지 못하지만 일반적으로 (일반적으로 svn) 트렁크의 직접 설치를 의미합니다 - 또는 "가장 최신의 체크 된 버전으로, 모든 릴리스 및 가능하게 테스트 된 공식 버전 "을 제공합니다. 일반적으로이 작업은 svn checkout http://wherever.com/someproject/trunk/ ./someproject과 같은 작업을 수행 한 다음 해당 디렉토리로 이동하여 설치합니다.

+1

+1 : 우리는 아침마다 서로를 따라왔다 :). 이것은 좋은 제안이며 1.2로 작성한 몇 가지 앱을 다시 업데이트해야하지만 w/1.1에서도 사용할 수 있습니다. – sdolan

+0

:-) 감사합니다. 예, 제가 1.1에서 1.2로 이사했을 때 잠시 동안이 사람이 나를 죽였습니다. 또한 파이썬 2.6에서 2.4 로의 inverse-porting은 나를 괴롭혔다. 몇몇 라이브러리는 "foo if bar else baz"구문에 의존하기 때문에. 나는 가상 호스트에 처음부터 파이썬을 설치해야만 2.6을 얻을 수 있었다.:-P – eruciform

+0

두 가지 구성 방법을 모두 시도했습니다. djangobb은 처음에는 settings.py에서 이전 스타일을 사용했으나 (데이터베이스 구성에 대한 이전 1.1 방법이라고 가정하고 있음) 다시 실패합니다. –

관련 문제