2013-07-11 2 views
2

기존 응용 프로그램을 최신 버전의 django로 업그레이드하고 싶습니다. 1.4에서는 사람들이 로그인을 시도 할 때 이전의 모든 암호가 더 이상 일치하지 않도록 암호 해싱 알고리즘을 변경했습니다. 업그레이드 할 수있는 방법이 있지만 사용자가 암호를 재설정하지 않아도됩니까?Django 1.3에서 1.5로 업그레이드

답변

1

나는 지난 달 동일한 업그레이드를 수행했으며 Django 암호는 여전히 완벽하게 작동했습니다. 내가 만든 변경 사항은 기본적으로 일반 뷰입니다 (현재 모든 일반 뷰는 클래스 기반입니다), settings.py의 로그인이 변경되어 ALLOWED_HOSTS 목록을 추가해야합니다. 예를 들어 : ALLOWED_HOSTS = ['.stackoverflow.com']

특히 URL 태그에 따옴표없이 이름이 지정된 URL을 사용했기 때문에 URL이 변경되었습니다. 장고가 지원하지 않을 이유가 있습니다. 올바른 방법은 다음과 같습니다. {% url 'name_of_the_view' arg1 arg2%}

다른 환경을 만들고 django 1.5를 사용하면이 작은 변화가 생깁니다.

+0

내가 바라던 것보다 조금 더 고통 스러웠고 1.4.5로 업그레이드했다. 센트리가 장고 1.5에 대해 준비가되지 않았다. 패스워드는 문제가되지 않는 것으로 밝혀졌지만, 나는 pinax를 스타터 프로젝트로 사용 했었고 큰 변화가있었습니다. 나는 단지 완전히 pinax를 찢어 버리는 것을 끝내었다. –

3

에 따르면 https://docs.djangoproject.com/en/dev/topics/auth/passwords/#auth-password-storage에 따르면 평소대로 모든 사항을 계속 확인합니다.

기본적으로 모든 항목을 SHA1으로 저장하는 것이 걱정된다면 목록에 먼저 해시를 넣으십시오 (권장 사항은 아닙니다). 당신이 직접 확인해야하는 경우

# settings.py 
PASSWORD_HASHERS = (
    'django.contrib.auth.hashers.SHA1PasswordHasher', 
    'django.contrib.auth.hashers.PBKDF2PasswordHasher', 
    ... 
) 

, 당신은 새로운 django==1.5 패키지와 함께 virtualenv 사용을 고려하고 그것을 밖으로 시도하는 동일한 데이터베이스에 연결된 더미 프로젝트/응용 프로그램을 만들 수 있습니다. 관리자 권한이 있고 이미 admin 인터페이스를 사용하고 있다면이 인터페이스를 사용하여 로그인 할 수 있습니다.

관련 문제