1) 장고 패스워드 재설정 시 이메일이 안보내지는 경우
패스워드 리셋 이메일은 active user(is_active가 true) 이면서 사용가능한 패스워드가 설정되어 있는 유저인 경우(has_usable_password 도 true) 에만 전송이 된다.
즉 gmail이나 네이버 oauth 등으로 가입한 유저의 경우에는 패스워드를 직접 타이핑하여 설정한 경우가 아니기에 패스워드 리셋 이메일이 안 보내지는 것이다.
아무 오류도 안뜨고 마치 전송된 것처럼 나올 수 있으므로 주의.
2) 장고 특정 app에 다국어 추가
1. 해당 app에 locale 폴더를 만든다.
2. 가상경로에서 해당 app 경로로 이동
3. 다음 명령을 실행
django-admin makemessages -l ja
4. 컴파일
django-admin compilemessages
3) requirements.txt 를 통한 패키지 종속성 관리
현재 환경에서 설치한 패키지 확인
pip freeze
설치한 패키지 목록을 파일에 담기
pip freeze > requirements.txt
패키지 설치
pip install -r requirements.txt
ssl 오류가 발생할 경우에는
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org -r requirements.txt
4) django management 시스템 안에서 내 명령어 만들고 사용하기
app들을 import하여 만든 코드를 서버시작없이 콘솔에서 테스트 또는 실행하고 싶을 때 유용함.
그냥 Run 해버리면 import된 모듈을 찾을 수 없다고 나온다.
shell 명령을 쓰지않아도 되어서 편하다
1. 폴더구조를 아래와같이 만들어야 한다
$ tree CallCenter
├── admin.py
├── apps.py
├── __init__.py
├── management
│ └── commands
2. 이제 commands 폴더 안에 내가 쓰고자 하는 명령어의 이름으로 python 파일을 작정한다
여기서는 make_call.py
CallCenter/management/commands/make_call.py
from twilio.rest import Client
from twilio.twiml.voice_response import VoiceResponse, Say, Dial, Number, VoiceResponse
from CallCenter.models import Campaign
from django.core.management import BaseCommand
def create_xml(campaign):
# Creates XML
response = VoiceResponse()
response.say(campaign.campaign_text)
return response
class Command(BaseCommand):
def add_arguments(self, parser):
parser.add_argument("--campaign-id", required=True, type=int)
def handle(self, campaign_id, **options):
campaign = Campaign.objects.get(pk=campaign_id)
xml = create_xml(campaign)
print(xml)
3. 아래와 같이 실행하면 된다
$ python manage.py make_call --campaign-id=1
5) django를 이용한 소셜 로그인
소셜로그인의 양대산맥:
app을 등록한 후 사용하면 된다
트위터: Twitter Developers
네이버: 애플리케이션 - NAVER Developers
네이버로 연동된 app목록은 여기서 확인가능 Apps : NAVER Account
구글: https://console.developers.google.com/apis/dashboard
이중 가장 까다로웠던건 네이버연동.
첨에 신청했다가 어떤목적 사이트인지 기술안했다고 반려당하고
가입시 선택사항으로 이름을 넣어놨는데 사용목적이 안나왔다고 반려당하고 선택사항삭제하고
별명을 필수로 넣었는데 어디에 쓰이는지 알수없다고해서 캡쳐후 재신청하고
검수 승인까지 좀 걸렸었다.