장고 - 확장 - 프로파일 확장이 간단한 사용자 프로필 모델을 제공하도록 설계 장고위한 확장 사용자 프로파일 시스템을 제공하는 장고 응용 프로그램입니다.
개념 (일부 코드) FeinCMS (https://github.com/matthiask/feincms) 페이지 모델에서 차용된다.
프로파일 모듈이 INSTALLED_APPS에 프로파일을 추가 사용합니다.
manage.py syncdb 진행하기 전에, 당신은 몇 가지 프로파일 확장을 추가해야합니다. 프로파일 모듈은 기본적으로 사용자 모델에 아무것도 추가하지 않습니다.
프로필 확장 모듈
확장 자주 사용하는 기능을 프로파일 모델을 추가하는 방법입니다. 확장은 확장을 등록 할 때 호출되는 레지스터 () 메소드와 표준 파이썬 모듈입니다. 레지스터 () 메소드는 프로필 클래스 자체 및 인수로 모델 관리 클래스 ProfileAdmin를받습니다.
확장은 어쨌든 처리됩니다 models.py 파일에 다음을 추가하여 활성화 할 수 있습니다 :
profiles.models 수입 프로필에서
& NBSP; & nbsp; & nbsp; 확인 Profile.register_extensions ( '제목', '사진', '주소', 'profiles.modules.options.extensions.options')
확장은 다음 모델은 또한 INSTALLED_APPS에 추가해야합니다 포함 된 응용 프로그램을 (옵션 확장 등) 그 자체 모델을 필요로하는 경우.
확장 기능을 추가
확장 프로파일 클래스와 인수로 ProfileAdmin 클래스를 허용하고 필요에 따라 수정 레지스터 기능을 정의하는 파이썬 모듈을 만들 추가합니다.
여기에 주소 확장 (정보 / 확장 / address.py)입니다 :
django.db 수입 모델에서
& NBSP; & nbsp; & nbsp; 확인 django.utils.translation 수입 ugettext_lazy에서 같은 _
& NBSP; & nbsp; & nbsp; 확인 데프 (CLS, admin_cls) 등록 :
& NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 cls.add_to_class ( '주소 1', models.CharField (MAX_LENGTH = 255, verbose_name = _ ( '주소'), 진정한 = NULL, 빈 = 참))
& NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 cls.add_to_class ( '주소 2', models.CharField (MAX_LENGTH = 255, verbose_name = _ ( '주소 2'), 진정한 = NULL, 빈 = 참))
& NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 cls.add_to_class ( '도시', models.CharField (MAX_LENGTH = 255, verbose_name = _ ( '마을 / 도시'), 진정한 = NULL, 빈 = 참))
& NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 cls.add_to_class ( '지역', models.CharField (MAX_LENGTH = 255, verbose_name = _ ( '카운티 / 주 /'), 널 (null) = 사실, 빈 = 참))
& NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 cls.add_to_class ( '우편 번호', models.CharField (MAX_LENGTH = 15, verbose_name = _ ( '우편 번호'), 널 (null) = 참))
& NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 cls.add_to_class ( '국가', models.ForeignKey ( 'countries.Country', 널 (null) = 사실, 빈 = 참))
& NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 cls.add_to_class ( '전화', models.CharField (MAX_LENGTH = 32, verbose_name = _ ( '휴대폰 번호'), 널 (null) = 사실, 빈 = 참))
& NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 admin_cls 경우 :
& NBSP; & NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 admin_cls.search_fields + = '주소 1', '주소 2', '도시', '지역', '우편 번호']
& NBSP; & NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 admin_cls.list_display_filter + = [ '국가']
& NBSP; & NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 admin_cls.fieldsets 경우 :
& NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 admin_cls.fieldsets.append ((_ ( '주소'), {
'필드': '주소 1', '주소 2', '도시', '지역', '우편 번호', '국가', '전화'],
'클래스'( '붕괴'),
}))
주소 확장 사용에 대한 INSTALLED_APPS에 'incuna.countries을'추가
이 요구 사항 : 있습니다.
파이썬
장고
댓글을 찾을 수 없습니다