django auth_user.get_profile
2108 단어 profile
def get_profile(self):
"""
Returns site-specific profile for this user. Raises
SiteProfileNotAvailable if this site does not allow profiles.
"""
if not hasattr(self, '_profile_cache'):
from django.conf import settings
if not getattr(settings, 'AUTH_PROFILE_MODULE', False):
raise SiteProfileNotAvailable('You need to set AUTH_PROFILE_MO'
'DULE in your project settings')
try:
app_label, model_name = settings.AUTH_PROFILE_MODULE.split('.')
except ValueError:
raise SiteProfileNotAvailable('app_label and model_name should'
' be separated by a dot in the AUTH_PROFILE_MODULE set'
'ting')
try:
model = models.get_model(app_label, model_name)
if model is None:
raise SiteProfileNotAvailable('Unable to load the profile '
'model, check AUTH_PROFILE_MODULE in your project sett'
'ings')
self._profile_cache = model._default_manager.using(self._state.db).get(user__id__exact=self.id)
self._profile_cache.user = self
except (ImportError, ImproperlyConfigured):
raise SiteProfileNotAvailable
return self._profile_cache
이 코드는 세 가지 일을 했다.
1. settings에서 구성된'AUTH 찾기PROFILE_MODULE
2. 모델 로드 = 모델스.get_model(app_label, model_name)
3. id를 통해 로드: model.default_manager.using(self._state.db).get(user__id__exact=self.id)
이 방법에는 문제가 하나 있다.default_관리자는db에서만 조회할 수 있습니다.memcached를 통해 조회하고 싶으면 어떻게 합니까?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Linux] 초기 설정Profile 적용 순서 (1) /etc/profile.d/test.sh -> 모든 sh 파일이 해당된다. (2) /etc/profile (3) /etc/bashrc (4) ~/.bashrc (5) ~/.bash_p...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.