개발을 위해 Django를 사용하고 있으며 데이터베이스에서 개행 문자가 포함 된 일부 텍스트를 검색합니다. 그러나 템플릿 태그를 사용하여 템플릿으로 렌더링하면 개행 문자가 표시되지 않습니다.
무엇이 문제입니까?
답변:
템플릿이 HTML을 생성한다는 것을 기억해야합니다. HTML에서 개행 문자는 또 다른 공백 일 뿐이며 다음 텍스트를 새 행에 넣는 것을 의미하지는 않습니다. HTML에서 새 줄을 강제하는 방법에는 여러 가지가 있습니다.
<pre>
HTML이 미리 서식이 지정되었음을 이해할 수 있도록 텍스트를 태그로 래핑 할 수 있습니다 .
<pre>{{value}}</pre>
Django 필터를 사용하여 일반 텍스트 줄 바꿈을 HTML로 변환 할 수 있습니다. linebreaks
단일 개행을 <br>
태그로, 이중 개행을 <p>
태그 로 변환 합니다. linebreaksbr
줄 바꿈을 <br>
태그 로 바꿉니다 .
{{value|linebreaks}}
{{value|linebreaksbr}}
당신이 더 좋아하는 것을보기 위해 이것들을 실험 할 수 있습니다.
실패하면보기에서 문자열 조작을 사용하여 더 나은 방식으로 일반 텍스트를 HTML로 변환 할 수 있습니다. 그리고 정말로 고급을 얻으려면 원하는 방식으로 변환하는 고유 한 필터를 작성하고 템플릿 전체에서 사용할 수 있습니다.