반응형

Django/Internationalization 4

[장고] i18n: LOGIN_REDIRECT_URL 설정방법

i18n을 이용해 다국어로 로그인에 성공할 경우, 해당 언어의 프로필 페이지로 자동 연결될 수 있도록 설정하는 방법에 대해 알아보겠습니다. django-allauth를 사용하면, 장고는 기본적으로 로그인에 성공할 경우 /accounts/profile/로 연결하도록 설정돼 있습니다. 이는 소셜 계정(socialaccount)을 통한 로그인 또한 마찬가지입니다. 때문에 i18n을 사용해 언어마다 url주소의 접두사를 언어코드로 설정해 놓았다고 하더라도, settings.LOGIN_REDIRECT_URL을 따로 설정해주지 않는다면, 어떤 언어로 로그인을 하더라도 영어(settings.LANGUAGE_CODE가 'en'인 경우) 페이지로 로그인하게 됩니다. 보다 구체적으로 예를 들자면 다음과 같습니다. 한국어 ..

[장고] gettext: 번역기능 모듈

장고에서 언어를 번역할 때 사용하는 gettext 모듈에 대해 알아보겠습니다. >>> settings.py import os MIDDLEWARE = [ ... 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', ... ] LANGUAGE_CODE = 'en-us' LANGUAGES = [ ('ko', 'Korean'), ('en-us', 'English'), ('es', 'Spanish'), ('fr', 'French'), ] LOCALE_PATHS = [os.path.join(BASE_DIR, '..

[장고] i18n: 다국어 기능 Snippet

웹사이트를 제작할 때, 오로지 한국인만을 위해 만들어진 웹사이트가 아니라면, 한국어 이외에 영어, 스페인어, 프랑스어, 중국어, 일본어 등 다양한 언어를 지원해야 하는 경우가 있습니다. 언어가 추가될 때마다 영문 버전의 base.html, home.html, navbar.html, footer.html을 만들고, 스페인어 버전의 템플릿들, 프랑스어, 중국어, 일본어 등의 템플릿을 일일이 만들어서 url을 지정해줄 수도 있습니다. 하지만 그럴 경우, 언어만 다를 뿐 결국 동일한 형태의 템플릿들을 여러 개로 관리해야 하기 때문에 번거롭고 비효율적입니다. 그럴 때 사용할 수 있는 기능이 바로, 장고에서 기본적으로 제공하는 i18n입니다. 이번 포스트는 언제든지 복사 붙여 넣기 해서 쓸 수 있도록, 제가 주로 ..

[장고] i18n: 다국어 기능 사용법

장고에서 기본적으로 제공하는 다국어 지원 기능인 i18n의 사용법에 대해 알아보겠습니다. 1. 장고 프로젝트 생성 먼저, 장고 프로젝트를 생성합니다. cmd: django-admin startproject 프로젝트명 이해의 편의를 위해, 우리 예시에서는 프로젝트명: django_i18n / 앱 명: i18n_app으로 설정했습니다. * 참고 * 앱 생성 명령어는 python manage.py startapp i18n_app입니다. 2. 기본 설정 추가 settings.py 파일에 다국어(현지화) 사용 관련 설정들을 추가해줍니다. >>> settings.py import os INSTALLED_APPS = [ ... 'i18n_app', ... ] MIDDLEWARE = [ ... 'django.contr..