장고 - lazysignup은 사용자를 인증하는 것처럼 사용자가 사이트와 상호 작용 할 수 있도록 설계 장고 응용 프로그램은, 그러나 가입없이합니다. & nbsp; 언제든지 그들이 실제 사용자 계정에 자신의 임시 사용자 계정을 변환 할 수 있습니다.
(당신이 템플릿 중 하나를 사용자 정의 할 필요가 있습니다.) 장고 1.2alpha1에서 테스트하지만 나중에 장고 1.0에서 작동해야하고 그것은 INSTALLED_APPS 목록에있을 django.contrib.auth이 필요합니다.
설치 :
당신과 장고 - lazysignup 달걀을 설치합니다 소스 제어 시스템에서 다른 개발 계란. 예를 들어, PIP와 함께 :
-e 자식을 설치 핍 : //github.com/danfairs/django-lazysignup.git#egg=django-lazysignup
이 작업이 일단, 당신은 당신의 INSTALLED_APPS에 lazysignup 추가해야합니다. 또한 사이트의 AUTHENTICATION_BACKENDS 설정으로 lazysignup의 인증 백엔드를 추가해야합니다 :
AUTHENTICATION_BACKENDS = (
& NBSP; 'django.contrib.auth.backends.ModelBackend'
& NBSP; 'lazysignup.backends.LazySignupBackend'
)
또한 설치 미들웨어가 필요합니다. 이 세션과 정식 백엔드 사이에 와야한다 :
MIDDLEWARE_CLASSES = (
& NBSP; "django.middleware.common.CommonMiddleware"
& NBSP; "django.contrib.sessions.middleware.SessionMiddleware"
& NBSP; "django.middleware.csrf.CsrfViewMiddleware"
& NBSP; "lazysignup.middleware.LazySignupMiddleware"
& NBSP; "django.contrib.auth.middleware.AuthenticationMiddleware"
& NBSP; "django.contrib.messages.middleware.MessageMiddleware"
& NBSP; "django.middleware.doc.XViewMiddleware"
)
당신은 1.2 이전에 장고를 사용하는 경우에는 {% csrf_token의 %} 템플릿 태그를 제거 lazysignup / convert.html 템플릿을 오버라이드 (override) 할 필요가 있습니다. 이 릴리스에서 더 우아하게 처리 할 수있다.
마지막으로이 같은 것을 사용하여, 당신의 URLConf에 lazysignup을 추가해야합니다 :
urlpatterns + = ( ''
& NBSP; (R '^ 변환 /') ( 'lazysignup.urls'를 포함),
)
사용법 :
패키지는 플래그 뷰가 요청 될 때마다 사용자의 세션 키에 기초하여 임시 사용자 계정을 생성하여 작동한다. 당신은 lazysignup.decorators.allow_lazy 데코레이터를 사용하여이 동작을 트리거하는 전망을 지정할 수 있습니다.
익명 사용자는보기를 요청하면, 임시 사용자 계정에 생성됩니다, 그들은 로그인 할 수 있습니다. 그것은 정기적으로 로그인하는 데 사용할 수 없습니다 수 있도록 사용자 계정이 사용할 수없는 암호가 설정해야합니다 사용자. 따라서, 임시 사용자로부터 정기적으로 사용을 말할 수있는 방법은 user.has_usable_password () 메소드를 호출하는 것입니다. 이 False를 반환하면, 사용자는 일시적입니다. 그 user.is_anonymous 주 () True를 반환합니다) (거짓과 user.is_authenticated 반환합니다.
이러한 뷰는 사용자가 아이디와 비밀번호를 입력하여 실제 사용자 계정으로 자신들의 일시 어카운트를 변환 할 수 있도록 제공된다.
장고 관리 명령은 부실, uncoverted 사용자 계정을 취소하기 위해 제공됩니다.
allow_lazy 데코레이터
보기에 액세스하는 그들을 위해 생성 된 임시 계정을 익명 사용자를 일으킬 함을 나타 내기 위해이 장식을 사용합니다. 그것은 당신의 홈페이지보기에이를 넣어 아마 현명!
예를 들어 :
django.http 가져 오기에서 HttpResponse에
lazysignup.decorators는 allow_lazy 가져올에서
@allow_lazy
데프 my_view (요청시)
& NBSP (request.user.username)는 HttpResponse를 반환
위의보기에 액세스 할 때 생성 된 사용자 이름을 포함하는 매우 간단한 응답이 표시됩니다.
변환보기를 사용하여
사용자는 / 변환 /보기를 방문 할 수 있습니다. 이 사용자 이름, 암호 및 암호 확인과 양식을 제공합니다. 그들은 유효한 세부 사항을 입력 한, 자신의 임시 사용자 계정은 평소에 로그인 할 수 있습니다 실제 사용자 계정으로 변환됩니다.
유지
시간이 지남에 구축됩니다 변환되지 않은 사용자 계정의 수입니다. 사용자 계정에서 과도한 수의 성능 문제를 피하기 위해서는, remove_expired_users 관리 명령은 정기적으로 실행되는 것을 추천한다. 이 명령 줄에서 실행 :
파이썬 manage.py의 remove_expired_users
프로덕션 환경에서는,이 크론 또는 유사한에서 실행해야합니다.
이것은 누구의 관련 세션을 더 이상 세션 테이블에있는 시스템에서 사용자 계정을 제거 할 작동합니다. user.delete ()가 각 사용자에 대해 호출됩니다, 그래서 관련 데이터도 삭제됩니다.
도와
당신이 기능을 추가하거나 버그를 수정하려는 경우, 진행하시기 바랍니다! GitHub의에 프로젝트를 포크, 그리고 당신이 당신의 변경 완료되면 알려주세요. 테스트와 수정 및 기능이 통합 될 가능성이 높습니다. , 테스트를 실행하려면 수행
파이썬 manage.py 테스트 --settings = lazysignup.test_settings lazysignup
. 시험은 모의 패키지를 필요로합니다
이 릴리스의 새로운 기능 :
이 포장 및 문서 오류를 수정합니다.
이 버전 0.10.3의 새로운 기능 :
이 오류를 포장 수정합니다.
이 버전 0.9.0의 새로운 기능 :
이이 기능 릴리스입니다. 사용자가 변환 될 때 사용자 정의 신호가 지금 시작됩니다. 패치 올리 스미스 (oesmith) 감사합니다.
1.3 이전 장고 버전은 이제 더 이상 지원되지 않습니다. (아무것도 1.2.x 버전의 작동을 방지하기 위해 수행되지 않은,하지만 난 더 이상이 경우 남아 있는지 확인하는데주의를 기울여야하지 않습니다.)
이 버전 0.7.0의 새로운 기능 :
이이 기능 릴리스입니다. 사용자 정의 사용자 클래스는 이제 LAZYSIGNUP_USER_MODEL 설정을 통해 지원됩니다. 이것은 이전 버전과 호환 변화이다.
아이디어와 초기 구현을위한 누가 복음 Zapart 감사합니다.
이 버전 0.6.1의 새로운 기능 :
이이 버그 수정 릴리스입니다. 문제 해결 :
https://github.com/danfairs/django-lazysignup/issues#issue/2 - 세션에서 유효하지 않은 사용자 ID는 정식 백엔드에서 AttributeError의 원인이 될 수 있습니다.
보고서 및 패치에 대한 알렉스 Ehlke 감사합니다.
이 버전 0.6.0의 새로운 기능 :
이 지연하지만 현재 로그인 만든 사용자가 올바르게 게으른 사용자로 감지된다. 이 작업을 용이하게하기 위해, LazyUser 모델이 포함되어 있습니다. 사용자 개체의 백엔드 속성을 확인하는 기존의 방법이 유지 된 바와 같이, 계속 작동 인증 된 사용자 만에 is_lazy_user 사용하여 기존 코드를 주 - 잠재적으로 불필요한 데이터베이스 쿼리보다 그렇게 빠르다.
그것을 사용하는 사람들을 위해, 남쪽의 마이그레이션은 초기 테이블을 만들 수 있도록 제공됩니다. 데이터 마이그레이션은 지금부터 남쪽 마이그레이션에 의해 처리됩니다.
is_lazy_user의 정규 가져 오기 위치는 lazysignup.utils에 lazysignup.templatetags.lazysignup_tags 내에서 변경되었습니다. 이전 위치로부터의 수입은 계속 작동합니다 기존 코드.
이 버전 0.5.0의 새로운 기능 :
이 버전은 미들웨어에 대한 요구 사항을 제거하여 현저하게 구현을 단순화합니다. 이것은 lazysignup.middleware 모듈이 더 이상 존재하는 역방향 호환 변경되지 않고, 사용자의 MIDDLEWARE_CLASSES 목록에서 제거 될 필요가있다.
이 변경 사항은 더 이상 당신의 구성에서 미들웨어 클래스를 제거하여 소프트웨어를 사용 불가능하게 할 수 있음을 의미합니다. 당신은 익명의 사용자가 (아마도 사용자 에이전트 블랙리스트 기능을 통해) 그들에게 제시 할 때 전망이 여전히 작동하는지 테스트 할 때, 예를 들어, 개발에 일시적으로이 작업을 수행 할 수 있습니다.
이를 위해, 새로운 설정에 대한 지원이 추가되었습니다 : ENABLE_LAZYSIGNUP을. 그것은 기본적으로 True로 설정합니다. 거짓 의지로 설정 모두 자동 로그인 및 자동 사용자 생성을 방지 할 수 있습니다.
allow_lazy_user의 장식은 더 이상 장식 목록에서 첫 번째로이 없습니다. 처음에이 문제를 지적 Jauco Noordzij 감사합니다.
현재 사용자가 자동으로 생성 된 사용자 인 경우 True를 반환합니다 is_lazy_user 템플릿 필터는, 지금도있다. 그것은 익명, 또는 다른 수단에 의해 인증 된 사용자에 대해 false를 반환하게됩니다. 이 기능에 대한 아이디어 다시 Jauco Noordzij 감사합니다.
is_lazy_user 필터 (당신은 또한 그냥 가져 와서보기 코드에서 직접 사용할 수있는) 자동으로 생성 된 사용자에 대한 검사의 선호하는 방법이 있습니다. has_usable_password는 사용자가 False를 반환 계속되지 않습니다,하지만 그들을 식별하는 표준 방법은 더 이상이다. has_usable_password가 호출 될 때 다른 인증 백엔드와 인증 된 사용자 (예를 들어, LDAP 백엔드)는 False를 반환 할 수 있습니다.
이 어떤 버전 0.4.0에서 새로운 것은
이 버전은 문제의 숫자가, 새로운 기능을 추가하고하게 역 호환되지 않는 변경이 해결합니다
README에서 RST 문제를 수정
사용자가 익명 인 경우 변환보기로 POST가 휴식 것이 문제를 해결합니다. 변환보기 이제 뷰에서 매개 변수화 기본적으로 LOGIN_URL로 리디렉션합니다.
새로운 기능 :
그것은 실제 사용자에 게으른 사용자를 변환하는 과정을 사용자 정의 할 수 쉬워졌습니다. 이전 버전의 사용자 지정 양식이 변환보기로 전달 될 수 있지만, 코드가 항상에서 사용자를 기록에서 자격 증명을 얻을 수있는 사용자 이름과 password1 인 필드를 예상했다. 이제 새로운 get_credentials을 () 메소드가이를 얻기 위해 양식이라고합니다 자격 증명.
테스트 모듈은 이제 해당 시험의 기간 동안 게으른 가입 미들웨어를 제거하여 테스트 케이스에 방법에 적용 할 수있는 no_lazysignup의 장식이 포함되어 있습니다. 이것은 (때 검색 엔진 방문, 가장 일반적으로) allow_lazy_user 데코레이터에 표시되어보기가 익명 사용자로 끝나는 때 어떤 일이 일어나는지 테스트하는 데 유용합니다.
이전 버전과 호환되지 않는 변경 :
생성 된 사용자 이름이 이제 실제로 세션 키되기보다는 오히려, 세션 키에 기초한다. 이는 사용자의 세션 키의 상당 부분을 포기, 응용 프로그램은 단순히 사용자 이름을 표시 할 수있는 잠재적 인 보안 문제를 방지하는 것입니다. 이제 자명 세션 키의 SHA1 해시로부터 생성된다. 이러한 변화는 기존의 생성 된 사용자가 무효가된다는 것을 의미합니다.
이 어떤 버전 0.3.0에서 새로운 것은 :; @ allow_lazy & quot
이 버전은 & quot 이름을 변경, 이전 버전과 호환되지 않는 변경 사항을 소개합니다; 장식이를 & quot; @ allow_lazy_user & quot ;. 이 & quot에서 같은 이름의 장식과 혼동을 피하기 위해입니다 django.utils.functional & quot ;.
이 요구 사항 :
이 파이썬
장고
이 제한 :
장고 - lazysignup 알파 소프트웨어가
입니다. 버그 리포트, 패치 및 확장을 환영합니다.
댓글을 찾을 수 없습니다