Django를 dev에서 1.1로 다운그레이드하는 방법
문제
Django 개발 버전을 실행 중인데 CSRF 변경으로 인해 파일 브라우저 앱이 트렁크와 호환되지 않는 것 같습니다.공식 릴리스(1.1)로 다운그레이드하려면 어떻게 해야 합니까?
저는 공유 호스트에서 작업 중이며 현재 Django를 실행하는 방식은 다음과 같습니다.
~/local/lib/python2.6/site-packages/
포함 /django/
기타 여러 폴더(각 앱당 하나씩).
~/local/lib/python2.6/site-packages/
파이썬 경로에 있습니다.
이내에 /site-packages/
에 대한 심볼릭 링크도 있습니다 /projectname/
프로젝트 파일(manage.py, settings.py 등)이 포함된 파일입니다.
나는 FastCGI를 사용하고 있으므로 /public_html/
나는 dispatch.fcgi
그것은 전화하는 데 사용됩니다 django.core.servers.fastcgi.runfastcgi
.ㅏ .htaccess
파일은 Django가 요청을 처리할 수 있도록 모든 요청을 dispatch.fcgi로 리디렉션하는 데 사용됩니다.
제거 (파이썬 경로 밖으로 이동)를 시도했습니다. /django/
그런 다음 Django의 릴리스 버전을 다운로드하여 이전 버전에 넣습니다. /django/
폴더였습니다.이로 인해 다음 오류가 발생했습니다.
CSRF라는 모듈이 없습니다.
다운로드했습니다 middleware/csrf.py
~에서 /trunk/
첫 번째 오류를 해결했지만 다른 오류가 발생했습니다.
1.1로 다운그레이드하려면 어떻게 해야 합니까?처음부터 시작하는 것이 불가능하지는 않지만 가능하다면 분명히 이것을 피하는 것이 좋습니다.
해결책 2
성공적으로 다운그레이드에 성공했으며 실제로는 매우 쉬운 프로세스입니다.이것이 내가 한 일을 간과하는 사람들에게 도움이 되기를 바랍니다.
그만큼 startproject
1.1.1의 django-admin.py 명령은 현재 개발 릴리스와 약간 다른 settings.py 파일을 생성합니다.
startproject
현재 개발 릴리스에는 추가 미들웨어 클래스인 csrf가 있습니다.1.1.1의 startproject 명령은 동일한 settings.py를 생성하지만 세 번째 클래스가 제거되었습니다.이 줄을 주석 처리하거나 제거하면 Django가 제대로 작동합니다.
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', #additional middleware class
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
다른 팁
너의 모습을 봐 /site-packages/
디렉토리 Django-1.other_stuff.egg-info
파일을 찾아 삭제한 다음 다시 시도하세요(1.1에 대한 코드는 여전히 site-packages/django/
예배 규칙서.그래도 작동하지 않으면 최신 릴리스 tarball(python setup.py install)에서 Django 설치 프로그램을 다시 실행하면 됩니다.
또는 다음과 같은 경우 핍이 설치됨 넌 아마 그냥 할 수 있을 거야 pip install -U Django==1.1.1
터미널에서.
자본을 참고하세요 D
~에 Django
egg-info 파일과 pip 명령에서.
/home/me/lib/와 같은 사용자 공간에 원하는 버전의 django를 설치할 수 있습니다.
그런 다음 mysite.wsgi에서 mod_wsgi를 사용하는 경우 다음 줄이 있습니다.
sys.path.insert(0,'/home/me/lib/Django-1.1')
이렇게 하면 서버 전체가 아닌 설치 환경에서 django가 로드됩니다.
또한 올바른 django-admin.py가 시작되거나 직접 실행되도록 쉘 환경 경로 변수를 조정해야 합니다.
python /home/me/lib/Django-1.1/django/bin/django-admin.py ...