점프 투 장고 2-10 폼에 템플릿에 오류를 표시하는 부분이 궁금합니다.
{% extends 'base.html' %}
{% block content %}
<div class="container">
<h5 class="my-3 border-bottom pb-2">질문등록</h5>
<form method="post" class="post-form my-3">
{% csrf_token %}
<!-- 오류표시 Start -->
{% if form.errors %}
<div class="alert alert-danger" role="alert">
{% for field in form %}
{% if field.errors %}
<strong>{{ field.label }}</strong>
{{ field.errors }}
{% endif %}
{% endfor %}
</div>
{% endif %}
<!-- 오류표시 End -->
<div class="form-group">
<label for="subject">제목</label>
<input type="text" class="form-control" name="subject" id="subject"
value="{{ form.subject.value|default_if_none:'' }}">
</div>
<div class="form-group">
<label for="content">내용</label>
<textarea class="form-control" name="content"
id="content" rows="10">{{ form.content.value|default_if_none:'' }}</textarea>
</div>
<button type="submit" class="btn btn-primary">저장하기</button>
</form>
</div>
{% endblock %}
중 아래 부분이 오류를 보여주는 내요인건 이해가 되는데요.
어떤 부분때문에 오류가 한글로 표시가 되는걸까요??
<strong>{{ field.label }}</strong>
{{ field.errors }}
제목만 입력했을때 (내용없이) 아래처럼 오류가 발생하는데요.
내용
● 필수 항목입니다
내용은 라벨로 불러왔는데, field.errors 는
modelform 의 조상을 따라가보니 baseform 이 나오는데 거기에서 정의되어 있는건가요?
한글에러내용(필수 항목입니다)이 어떤 코드 때문에 나오는지 궁금합니다.
juyoungjin2 님 541
2022년 2월 20일 9:34 오후
1개의 답변이 있습니다. 1 / 1 Page
장고에는 translation 기능이 있습니다.
장고 라이브러리 중에 한국어 번역 파일을 보면 다음과 같은 항목이 있습니다.
msgid "This field is required."
msgstr "필수 항목입니다."
즉, 언어 설정이 한국어로 되어 있는 경우 오류메시지가 한글로 나갑니다.
박응용 님
M 2022년 2월 20일 9:57 오후