Apache/mod_wsgi에서 실행되는 Django의 오류
문제
최근에 나는 a 의문 Python 스크립트 디렉토리를 인식하는 Apache/Mod_wsgi의 오류와 관련하여. 커뮤니티는 질문에 친절하게 대답하여 성공적인 설치를 초래했습니다. 이제 다른 오류가 있습니다. 서버 데몬 (기술적으로는 Windows 서비스입니다. 토마토라고 말합니다 ...)는 모델을 찾지 못합니다. 여기에 전체 추적이 있습니다.
환경:
Request Method: GET
Request URL: `http://localhost/polls/`
Django Version: 1.0.2 final
Python Version: 2.6.2
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'mysite.polls']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware')
템플릿 오류 : 템플릿 C : 사용자 marcos documents djangotemplates polls poll_
List.html, 1 행의 오류는 렌더링하는 동안 예외를 발견했습니다 : 그러한 테이블 없음 : polls_poll
1 : {% if object_list %} 2 : <ul> 3 : {% for poll in object_list %} 4 : <li> <a href="{{poll.id}}/">{{ poll.question }} </a> </li> 5 : {% endfor %} 6 : </ul> 7 : {% else %} 8 : <p>No polls are available.</p> 9 : {% endif %} 10 :
역 추적:
File "C:\Python26\lib\site-packages\django\core\handlers\base.py" in get_response 86. response = callback(request, *callback_args, **callback_kwargs) File "C:\Python26\lib\site-packages\django\views\generic\list_detail.py" in object_list 101. return HttpResponse(t.render(c), mimetype=mimetype) File "C:\Python26\lib\site-packages\django\template\__init__.py" in render 176. return self.nodelist.render(context) File "C:\Python26\lib\site-packages\django\template\__init__.py" in render 768. bits.append(self.render_node(node, context)) File "C:\Python26\lib\site-packages\django\template\debug.py" in render_node 81. raise wrapped
Exception Type: TemplateSyntaxError at /polls/
Exception Value: Caught an exception while rendering: no such table: polls_poll
어딘가에 누군가 내가 사용하라고 조언합니다 manage.py dbshell 그리고 대본이 응답했습니다.
오류 : 'SQLITE3'프로그램이 설치되어 있거나 경로에 설치되지 않은 것으로 보입니다.
그러나 여전히 Django Runserver는 앱을 완벽하게 실행합니다. 나는 웹 애플을 너무 세게 조이는 환경에서 무엇이 바뀌 었는지 알지 못합니다. 도와주세요!
해결책
데이터베이스가 없습니다. 왜 SQLITE3 드라이버가 없는지 확실하지 않습니다. 그러나 SQLITE3가없고 데이터베이스가 없습니다.
run manage.py syncdb 데이터베이스를 빌드합니다.
동일하게 사용하십시오
settings.py
생산 인스턴스로.당신을 확인하십시오
settings.py
올바른 드라이버가 있습니다. sqlite3을 사용하고 있습니다. 절대 경로 이름이 사용되어 있는지 확인하십시오.동일하게 사용하십시오
PYTHONPATH
모든 모듈이 실제로 발견되도록하는 프로덕션으로 작업 디렉토리
일반 SQL을 실행하여 실제로 데이터베이스를 구축했는지 확인하십시오.
장고를 실행하십시오
/admin
데이터베이스에 무엇이 있는지 확인하는 응용 프로그램.
SQLITE3는 Python에 포함되어 있습니다. 누락 되려면 파이썬 설치가 손상되거나 불완전해야합니다. 처음부터 다시 설치하십시오.
다른 팁
PythonPath 환경 변수에 sqlite3 binaries 디렉토리를 추가하는 문제를 해결합니다.
노력하다 manage.py syncdb Django가 데이터베이스에 연결할 수 있고 모든 테이블이 생성되었는지 확인합니다.
비슷한 문제를 해결했습니다. settings.py의 installed_apps 목록에 앱 이름을 추가해야한다고 생각합니다.
내가 manage.py dbshell을 실행하려고 할 때 이것들 중 어느 것도 나에게 옳지 않았지만, 3 년 후에, 나는 10.7에 있습니다. MySQL 경로를 다음과 같이 내 경로 변수에 추가했습니다.
Path = $ Path : /usr/local/mysql-5.5.16-OSX10.6-x86_64/bin
실제로 이것을 .profile 파일에 넣는 것이 좋습니다. Mac OS 10.7을 사용하면 아직 없다면이 중 하나를 만들어야 할 것입니다. 터미널 창에서 CD를 입력 한 다음 Return을 누르면 홈 디렉토리로 돌아온 다음 vi .profile을 수행하여 새 파일을 만들고 삽입하십시오.
내보내기 경로 = $ 경로 : /usr/local/mysql-5.5.16-OSX10.6-x86_64/bin
나는 나처럼 머리 꼭대기 에서이 모든 것을 모르는 사람들에게 많은 세부 사항을 제공하고 있습니다. 다음에 경로에 로그인하면 자동으로 설정됩니다. .profile 파일에서 지금 설정하려면 다음을 수행하십시오.
. ./.프로필
새 경로 변수를 확인하려면 다음을 수행하십시오.
에코 $ 경로