홈>
웹 개발에 대한 신인 질문입니다. 개발자가 django 응용 프로그램에서 전자 메일을 보내는 기능을 호출하고 실행하여 수동으로 재정의하고 수동으로 보낼 수있을뿐만 아니라 시간을 활성화하여 정해진 시간에 주기적으로 전자 메일을 보내는 기능을 호출하고 실행하는 방법을 찾고 있습니다 주.
장고에서 주기적으로 기능을 실행하는 셀러리 사용을 제안하는 답변을 찾았습니다
그러나 애플리케이션을 재배치하지 않고 기간을 변경하고 싶습니다. AWS 도구에 대한 몇 가지 연구를 수행했으며 AWS 게이트웨이와 AWS Lambda 및 AWS Cloudwatch의 조합으로 웹 앱에 URL/엔드 포인트를 보내거나 기능을 활성화하기 위해 요청을 얻습니다.
현재 아래와 같은 것이 있습니다.
views.py
def api_send_email(request):
#insert send email function
print ("sending")
return redirect('/')
urls.py
urlpatterns = [
url(r'^send_email$', api_send_email, name="api_send_email"),
]
따라서 위의 URL은 https // xxx/send_email url로 이동하거나 aws에서 주기적으로 해당 URL에 get 요청을 보내서 수동으로 트리거 할 수 있습니다. 대신 게시 요청을 수행하는 것이 더 안전 할 것이라고 생각했지만 내 앱 자체에 csrf 토큰이 필요하기 때문에 AWS 도구가 그렇게 할 수 있는지 확실하지 않습니다.
이 작업을 수행하는 가장 좋은 방법에 대한 제안은 환영합니다.
감사합니다
- 답변 # 1
관련 자료
- python - Django 양식에서 요청 된 사용자를 깨끗한 기능으로 얻는 방법은 무엇입니까?
- design patterns - 파이썬 라이브러리에서 사용자 정의 함수를 호출하는 좋은 방법은 무엇입니까?
- javascript - 부트 스트랩 모달 열기에서 함수 호출 - nodejs 추가 코드
- r - mac의 rstudio에서 c ++ 함수 호출 및 가져 오기 (clang - error : unsupported option '-fopenmp')
- Python에서 C 함수 호출 문제
- javascript - 반응 - 객체 내부의 객체로 함수 호출
- javascript - SortableJS에서 함수를 전역 변수로 호출
- reactjs - 함수 호출 후 useLazyQuery 후크 데이터를 얻는 방법
- javascript - 부모의 상태를 변경하기 위해 자식에서 함수를 호출 할 때 오류 발생
- validation - Django 관리자가 관리자 사이트에 로그인하려고 할 때```save ()```메서드를 호출합니다
- firebase - 파이썬 클라우드 함수 및 app_initialization에서 firestore 호출
- python - django - 데코레이터로 인해 url에서 뷰를 래핑 할 때 '함수'객체에 'get'속성이 없습니다
- javascript - 구성 요소 인스턴스 내에서 함수 호출을 호출하는 구문
- reactjs - 반응 기능 구성 요소의 함수 내에서 propsmyFunction () 호출
- sap cloud sdk - 함수를 호출 할 때 CSRF 토큰이 제대로 처리되지 않음
- php - Laravel이 if 문 내부에서 함수를 호출하지 않음
- javascript - 함수 호출을 반환하는 것과 재귀 중에 함수를 다시 호출하는 것의 차이점은 무엇입니까?
- 함수를 호출 할 때 에코를 피하고 PHP에서 반환 값만 원하는 방법
- Google Colab 노트북 내부의 Cython 코드에서 Python 함수 호출
- python - django render 함수는이 파일이 어디에 있는지 어떻게 알 수 있습니까?
셀러리로도 가능하다고 생각합니다. 이를 위해 주기적 작업을 추가 할 수 있습니다. 5 분마다 시작되는 주기적 작업이 있다고 가정하겠습니다.
그런 다음 모델에 로직을 설정하여 당시 이메일을 보내야하는지 결정할 수 있습니다. 예를 들면 다음과 같습니다.
이메일모델은이 구성에 대해 FK를 가질 수 있습니다 (있는 경우).
정기적 인 작업을 사용하십시오 :
참고 : 테스트되지 않은 코드이지만이 솔루션의 일반적인 아이디어를 얻을 수 있습니다. 도움이 되길 바랍니다 !!