django auth_user.get_profile

2108 단어 profile
django 대 authuser에서 확장 get 제공profile(self),django의auth/modles.py는 다음과 같은 방법을 제공했다
  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를 통해 조회하고 싶으면 어떻게 합니까?
 

좋은 웹페이지 즐겨찾기