프로젝트 노트/이메일/시내 주소 캐시

3329 단어
Django 프로필에서 메일박스 구성 정보 설정 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.qq.com'#SMTP 주소: smtp.163.com EMAIL_PORT = 587 # SMTP 포트 예: 25 EMAIL_HOST_USER = '[email protected]'#qq의 메일박스 예:[email protected] EMAIL_HOST_PASSWORD ='jkhkxegkqdsrbaig'#내 메일박스 비밀번호 예를 들어 xxxxxxx EMAIL_SUBJECT_PREFIX = u'django'#은 메일 Subject-line 접두사이며 기본값은 [django]'EMAIL_USE_TLS = True #이 SMTP 서버와 통신할 때 TLS 링크(보안 링크)를 시작할지 여부입니다.기본값은 false DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
Django에서 제공하는 모듈을 사용하여 django에서 메일을 보냅니다.core.mail 모듈에서send_메일로 보내주세요.send_mail(subject,message,from_email,recipient_list,html_message=None)subject 메일 제목 메시지 일반 메일 본문, 일반 문자열 from_이메일 보낸 사람recipient_list 받는 사람 목록 html_메시지 멀티미디어 메일 본문은 html 문자열일 수 있습니다. 예를 들어 msg='클릭하여 활성화'send_mail (등록 활성화, settings.EMAIL_FROM, ['[email protected]'], html_message=msg)

캐시 사용


성 시내의 데이터는 자주 사용자에게 조회되어 사용되고 데이터는 기본적으로 변하지 않기 때문에 우리는 성 시내 데이터를 캐시 처리하여 데이터베이스의 조회 횟수를 줄일 수 있다.Django REST 프레임워크에서 캐시를 사용하여 확장할 수 있습니다 drf-extensions.캐시 사용 문서 확장 정보 링크 참조http://chibisov.github.io/drf-extensions/docs/#caching

설치

pip install drf-extensions

사용 방법


1) 데코더를 직접 추가하면rest_framework_extensions.cache.decorators의cache_response 장식기가 데이터를 되돌려주는 클래스 보기의 대상을 장식하는 방법, 예를 들어
class CityView(views.APIView):
    @cache_response()
    def get(self, request, *args, **kwargs):
        ...

cache_response 장식기는 두 개의 인자를 수신할 수 있다
@cache_response(timeout=60*60, cache='default')
  • timeout 캐시 시간
  • cache 캐시에 사용되는 Django 캐시 백엔드(CACHES 구성의 키 이름)
  • cache_를 사용하는 경우response 장식기에서 timeout이나 cache 파라미터를 표시하지 않으면 설정 파일의 기본 설정을 사용합니다. 다음과 같은 방법으로 표시할 수 있습니다.
    # DRF 
    REST_FRAMEWORK_EXTENSIONS = {
        #  
        'DEFAULT_CACHE_RESPONSE_TIMEOUT': 60 * 60,
        #  
        'DEFAULT_USE_CACHE': 'default',
    }
    
  • DEFAULT_CACHE_RESPONSE_TIMEOUT 캐시 유효 기간, 초 단위
  • DEFAULT_USE_CACHE 캐시는 구성 파일의 키CACHES에 해당하는 방식으로 저장됩니다.

  • 주의,cache_response 장식기는 클래스 보기의 get 방법에 장식할 수도 있고, REST 프레임워크 확장 클래스가 제공하는list나retrieve 방법에 장식할 수도 있습니다.cache_ 사용response 장식기는 method_를 사용하지 않아도 됩니다decorator를 변환합니다.
    2) drf-extensions에서 제공하는 확장 클래스 drf-extensions 확장을 사용하여 캐시에 세 가지 확장 클래스를 제공합니다.
  • ListCacheResponseMixin은 목록 데이터를 캐시하여 되돌려 주는 보기로 ListModelMixin 확장 클래스와 함께 사용되며, 실제list 방법에 cache_를 추가합니다response 장식기
  • RetrieveCacheResponseMixin은 단일 데이터로 되돌아오는 보기를 캐시하는 데 사용되며, RetrieveModelMixin 확장 클래스와 함께 사용됩니다. 실제적으로retrieve 방법에cache_response 장식기
  • Cache Response Mixin은 뷰 세트로 List와 Retrieve 두 가지 캐시를 동시에 보충하여 List Model Mixin과 Retrieve Model Mixin과 함께 사용합니다.세 가지 확장 클래스는 모두 rest_framework_extensions.cache.mixins 에 있습니다.

  • 시내 뷰에 캐시 추가


    도시 지역의 보기는 시도 집합을 사용하고 보기 집합에는 List Model Mixin과 Retrieve Model Mixin을 제공하는 확장 (Read Only Model View Set에서 제공) 이 있기 때문에 Cache Response Mixin 확장 클래스를 직접 추가할 수 있습니다.성도로 돌아가는 정보의 보기 수정
    from rest_framework_extensions.cache.mixins import CacheResponseMixin
    class AreasViewSet(CacheResponseMixin, ReadOnlyModelViewSet):
    

    좋은 웹페이지 즐겨찾기