문제

Django에는 일반적인 HTML 마크업을 생성하는 템플릿 태그가 있나요?예를 들어, 다음을 사용하여 URL을 얻을 수 있다는 것을 알고 있습니다.

{% url mapper.views.foo %}

하지만 이는 링크를 생성하는 HTML 코드가 아닌 URL만 제공합니다.Django에는 Rails의 link_to 도우미와 비슷한 것이 있나요?나는 찾았다 장고 도우미 하지만 이것이 흔한 일이기 때문에 나는 Django에 뭔가 내장되어 있을 것이라고 생각했습니다.

도움이 되었습니까?

해결책

아니요, 그렇지 않습니다.

제임스 베넷 대답했다 비슷한 질문 얼마 전 Rails의 내장 JavaScript 도우미에 관해 이야기했습니다.

그것은 정말 Django에 '도우미' 기능이 내장되어 있을 가능성은 거의 없습니다.그 이유는 내가 올바르게 이해한다면 Django의 핵심 철학인 물건을 유지하는 것과 관련이 있습니다. 느슨한 결합.이러한 종류의 도우미 기능이 내장되어 있으면 Django를 특정 JavaScript 라이브러리 또는 (귀하의 경우) html 문서 유형과 결합하게 됩니다.

예.HTML 5가 최종적으로 구현되고 Django가 HTML 4 또는 XHTML 마크업을 생성하면 어떻게 되나요?

그렇긴 하지만, Django의 템플릿 프레임워크는 정말 유연하고, 나만의 태그/필터 작성 그게 당신이 원하는 일이었죠.나는 대부분 디자이너이고, 매력처럼 작동하는 몇 가지 사용자 정의 태그를 구성할 수 있었습니다.

다른 팁

도우미의 목적은 여기에서 암시하는 것처럼 HTML 작성 방법을 모르는 개발자를 돕는 것이 아닙니다.목적은 공통 기능을 캡슐화하여 동일한 내용을 수천 번 작성할 필요가 없도록 하고 앱 전체에서 사용되는 공통 HTML을 편집할 수 있는 단일 위치를 제공하는 것입니다.

템플릿과 SSI가 유용한 이유도 마찬가지입니다. 사람들이 머리글과 바닥글에 HTML을 작성하는 방법을 모르기 때문이 아니라 때로는 HTML을 한 번만 작성하고 싶을 때도 있습니다.

예.HTML 5가 마침내 구현되고 Django가 HTML 4 또는 XHTML 마크 업을 생성하는 경우 어떻게됩니까?

HTML 5가 구현되고 모든 템플릿이 반복적인 HTML로 작성될 때에도 동일한 일이 발생합니다. 단, 훨씬 더 쉽습니다.

다른 게시물은 이미 질문에 대한 답변을 제공했으며 다음 문서에 연결되어 있습니다. 맞춤 템플릿 태그;태그와 필터를 사용하여 자신만의 것을 만들 수 있지만 내장된 것은 없습니다.

내장된 것 같지는 않지만 여기에 몇 가지 스니펫이 있습니다.이러한 도우미를 만드는 것은 매우 쉬울 것 같습니다.

http://www.djangosnippets.org/snippets/441/

여기에는 Django에 내장된 모든 템플릿 태그 및 필터 목록.Django 코어에는 Rails만큼 많은 HTML 도우미가 없습니다. 왜냐하면 Django 기여자들은 웹 개발자가 HTML을 매우 잘 알고 있다고 가정했기 때문입니다.saturdaypalace에서 언급했듯이 AJAX 도우미가 Django에 추가될 가능성은 거의 없습니다. 왜냐하면 Django를 특정 JavaScript 라이브러리와 결합하게 되기 때문입니다.

그것은 매우 쉽습니다 나만의 템플릿 태그 작성 Django에서는 (종종 Rails와 유사한 하나의 함수만 정의하면 됩니다)하루나 이틀 안에 Django에서 대부분의 Rails 도우미를 다시 구현할 수 있습니다.

나는 그것이 무엇인지에 대해 어떤 동의가 있을 것이라고 장담한다. 일반적인 HTML, 완전성을 위해(또는 다른 사람이 가지고 있기 때문에) 도우미 모듈도 있을 것입니다.;)

그 외에 Django 템플릿 시스템은 주로 HTML 작성 방법을 이미 알고 있는 HTML 사용자를 위해 만들어졌습니다. p, img 그리고 a 태그가 필요하지 않습니다. 도우미 그에 대한.반면에 코드를 작성하고 컨텍스트에 넣은 변수가 다음으로 둘러싸여 있는지 신경 쓰지 않는 Python 개발자가 있습니다. div 또는 span (완벽한 예 우려의 분리 어형 변화표).이 두 세계를 결합해야 한다면 직접 수행해야 합니다(또는 다른 코드를 찾아보세요).

이것은 질문에 직접 대답하지는 않지만 사용하지 않는 이유는 무엇입니까? <a href="{% url mapper.views.foo %}">foo</a> 그럼 템플릿에서?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top