본문 바로가기

Dev Log/Django5

[Django] Gmail SMTP 보내기 이메일로 회원가입을 하거나 할 때, 해당 메일이 실제로 쓰이고 있고 해당 유저가 사용하고 있는지를 인증하기 위해서 인증 메일을 보내곤 한다. 이를 SendGrid나 AWS SES 등의 서비스를 통해서 할 수도 있지만, G-mail을 통해서 작은 규모의 웹사이트에서도 사용할 수 있다. 먼저, SMTP를 사용하기 위해서 지메일에서는 두 가지를 설정해줘야 한다.1. IMAP 사용함 설정 https://support.google.com/mail/answer/7126229?hl=ko&rd=3&visit_id=1-636281811566888160-3239280507#ts=16650182. 보안 수준이 낮은 앱 허용 https://support.google.com/accounts/answer/6010255두 가지 설.. 2017. 4. 19.
[Django] Django+uWSGI에서 os.environ variable 설정하기 Django 프로젝트를 production 서버로 올려놓을 때는 DB의 패스워드나 Django의 SECRET_KEY 등을 감춰둘 필요가 있다. 이를 위해서는 돌아가고 있는 서버 환경에 변수를 설정해두면 된다. 본래 아마존 EC2와 같은 Linux 환경에서는 터미널에서는 다음과 같이 하면 변수를 설정할 수 있다. export VAR_NAME=HELLO_WORLD위와 같이 하거나 아니면 이를 .bashrc 파일에 적어놓고 source .bashrc를 하게 되면 같은 상태로 쓸 수 있게 된다. (확인은 printenv로 하면 된다.) 하지만, uWSGI에서 쓰게 된다면 얘기가 달라진다. http://stackoverflow.com/questions/16792698/os-environ-in-django-sett.. 2017. 4. 18.
[Django] 국제화, 현지화. 각국의 언어로 번역되는 웹사이트를 만들려면? 다양한 언어에 대응이 되는 웹사이트를 장고에서는 손쉽게 만들 수 있다. 물론, 사용자가 쓴 내용을 번역하려면 DB에 각각 내용마다 번역을 할 수 있게끔 설계해야 하겠지만, DB이외의 메뉴라든가 Form이라든가 공통적으로 보여지게 되는 페이지의 텍스트 들을 각각 번역하여 Django에서 관리할 수 있게 되어있다. 공식 문서는 https://docs.djangoproject.com/en/1.10/topics/i18n/translation/ 를 참조하면 된다. 1) 우선 po file을 만들자.project folder에서 다음과 같이 입력한다. mkdir locale (혹시 GNU gettext가 없다고 나올 경우에는 이렇게 한다.) sudo apt-get install gettext locale폴더가 만들.. 2017. 3. 13.
[Django] Form에서 비밀번호 확인하기 회원가입을 할 때 보통 비밀번호를 한 번 더 입력하여 내가 입력한 비밀번호가 제대로 된 비밀번호인지 확인하게 된다. 근데 Django의 auth.user모델을 쓰거나 해당 모델을 확장해서 쓰게 될 경우, 회원가입시 비밀번호 입력란이 하나밖에 나오지 않게 된다. 이럴 경우 어떻게 하면 될까? class UserForm(forms.ModelForm): verify_password = forms.CharField(label = '비밀번호 확인', widget = forms.PasswordInput) class Meta: model = User fields = ('username', 'password', 'verify_password', 'first_name', 'last_name') labels = { 'us.. 2017. 3. 10.