상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 파이썬 장고에서 다국어 지원(Localization)을 구현하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
다국어 지원(Localization)은 웹 <a href='https://sangseek.com/sangseeks/애플/ko'>애플</a>리케이션이 다양한 언어로 사용자에게 콘텐츠를 제공할 수 있도록 하는 중요한 기능입니다. Django는 이러한 다국어 지원을 쉽게 구현할 수 있는 강력한 도구를 제공합니다. 아래에서는 Django에서 다국어 지원을 구현하는 방법에 대해 단계별로 설명하겠습니다. 1. Django 프로젝트 설정먼저, Django 프로젝트를 생성하고 설정 파일을 열어야 합니다.```bashdjango-admin startproject myprojectcd myproject``` 2. `settings.py` 파일 수정`settings.py` 파일에서 다음과 같은 설정을 추가합니다.```python# settings.py# 언어 코드와 지역 설정LANGUAGES = [ ('en', 'English'), ('ko', 'Korean'), # 추가 언어를 여기에 추가]# 기본 언어 설정LANGUAGE_CODE = 'en-us'# Locale middleware 추가MIDDLEWARE = [ ... 'django.middleware.locale.LocaleMiddleware', ...]# Locale 경로 설정LOCALE_PATHS = [ BASE_DIR / 'locale',]``` 3. 템플릿에서 다국어 지원 사용하기Django의 템플릿에서 다국어 지원을 사용하기 위해 `load` 태그를 사용하여 `i18n` 모듈을 불러옵니다. 그리고 `trans` 태그를 사용하여 번역할 <a href='https://sangseek.com/sangseeks/문자/ko'>문자</a>열을 감쌉니다.```html{% load i18n %}<!DOCTYPE html><html lang="{{ LANGUAGE_CODE }}"><head> <meta charset="UTF-8"> <title>{% trans "Welcome" %}</title></head><body> <h1>{% trans "Hello, World!" %}</h1></body></html>``` 4. 번역 문자열 생성Django는 `makemessages` 명령어를 사용하여 번역 파일을 생성할 수 있습니다. 아래 명령어를 실행하여 번역 파일을 생성합니다.```bashdjango-admin makemessages -l ko```이 명령어는 `locale/ko/LC_MESSAGES/django.po` 파일을 생성합니다. 이 파일을 열어 번역할 문자열을 추가합니다.```pomsgid "Welcome"msgstr "환영합니다"msgid "Hello, World!"msgstr "안녕하세요, 세계!"``` 5. 번역 파일 컴파일번역 파일을 수정한 후, `compilemessages` 명령어를 사용하여 `.mo` 파일로 컴파일합니다.```bashdjango-admin compilemessages``` 6. 언어 변경 기능 구<a href='https://sangseek.com/sangseeks/현사/ko'>현사</a>용자가 언어를 변경할 수 있도록 뷰와 URL을 설정합니다. 예를 들어, 언어 변경을 위한 뷰를 추가할 수 있습니다.```python# views.pyfrom django.utils import translationfrom django.shortcuts import redirectdef set_language(request): user_language = request.GET.get('language', 'en') translation.activate(user_language) request.session[translation.LANGUAGE_SESSION_KEY] = user_language <a href='https://sangseek.com/sangseeks/return/ko'>return</a> redirect(request.META.get('HTTP_REFERER', '/'))``` 7. URL 설정언어 변경을 위한 URL을 설정합니다.```python# urls.pyfrom django.urls import pathfrom .views import set_languageurlpatterns = [ path('set_language/', set_language, name='set_language'), # 다른 URL 패턴]``` 8. 언어 선택 UI 추가템플릿에 언어 선택 UI를 추가하여 사용자가 원하는 언어로 변경할 수 있도록 합니다.```html<form action="{% url 'set_language' %}" method="get"> <select name="language" onchange="this.form.submit()"> <option value="en">English</option> <option value="ko">Korean</option> <!-- 추가 언어 --> </select></form>``` 9. 테스트 및 확인서버를 실행하고 웹 브라우저에서 언어를 변경하여 다국어 지원이 잘 작동하는지 확인합니다.```bashpython manage.py runserver```이제 Django 애플리케이션에서 다국어 지원이 구현되었습니다. 사용자는 언어를 선택하여 콘텐츠를 해당 언어로 볼 수 있습니다. Django의 강력한 i18n 기능을 활용하여 다양한 언어를 지원하는 웹 애플리케이션을 쉽게 개발할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기