장고 응용 프로그램에서 페이지의 기본 템플릿을 확장해야하지만이 새 페이지에서 제외해야하는 HTML 요소가 몇 가지 있습니다. 그들을 제거하는 가장 좋은 방법은 무엇입니까? JQuery를 사용하여 요소를 삭제할 수 있습니까?Django 기본 템플릿을 재정의하는 방법
답변
이렇게하려면 템플릿 블록을 사용할 수 있습니다.
{% block a_unique_name %}<div>This is only relevant in base.html</div>{% endblock %}
블록의 HTML이 다른 템플릿을 무시없는 경우에만 사용됩니다 예를 들어, base.html에서 명명 된 블록의 HTML 요소를 둘러싸고 있습니다. 이처럼 서브 템플릿에서 재정의 할 수 있습니다
{% extend base.html %}
{% block a_unique_name %}{% endblock %}
지금 서브 템플릿의 값이 사용되며 base.html에서 기본값보다 우선합니다.
이러한 요소없이 기본 템플릿을 만듭니다. 이러한 요소를 사용하여 하위 템플릿을 만듭니다. 이 하위 템플릿과이 특정 페이지 - 기본 템플릿의 모든 페이지를 상속합니다.
또 다른 방법은 이러한 요소를 기본 템플릿의 블록에 넣는 것입니다.
{# base template #}
{% block override_me %}
<elem1 /><elem2 />
{% endblock %}
{# child template #}
{% block override_me %}{% endblock %}
이것은 반드시 나쁜 생각은 아닙니다. 코드를 base.html에 넣지 않도록 여러 하위 템플릿에서 다시 작성해야하는 경우 DRY 원칙을 위반합니다. 블록을 사용하는 것이 좋습니다. –
@ George Cummins JS로 요소를 제거하는 것이 반드시 나쁜 생각은 아니겠습니까? 우욱. DRY가 위반 된 곳을 표시하십시오. (예를 들어,이 방법은 [django site] (https://github.com/django/djangoproject.com/tree/master/django_website/templates)에서 사용됩니다). – DrTyrsa
명백하게 나는 원래의 질문에서 당신의 "나쁜 생각"에 대한 언급이 어느쪽으로 향했는가에 대해 분명하지 않았다. 하위 템플릿에서 요소를 제거하는 것은 문제가되지 않지만 JS를 통해 요소를 제거하는 것이 이상적이지 않다는 데 동의합니다. 답변의 첫 번째 단락을 다시 작성하면 내 downvote를 삭제할 수 있습니다. –
- 1. 기본 element.styles를 재정의하는 방법
- 2. django 템플릿을 사용하는 방법
- 3. Qt에서 기본 단축키를 재정의하는 방법
- 4. WPF에서 파생 스타일의 기본 스타일 컨트롤 템플릿을 재정의하는 방법은 무엇입니까?
- 5. Django Model 필드에서이 메서드를 재정의하는 방법
- 6. jinja2에서 매크로를 재정의하는 방법
- 7. 기본 템플릿을 장고 주석 템플릿에 포함시키는 방법?
- 8. JUnit Test Suite 기본 출력을 재정의하는 방법
- 9. belongs_to의 기본 연결 = (연결) 메서드를 재정의하는 방법?
- 10. Maven 플러그인 단계의 기본 바인딩을 재정의하는 방법
- 11. OS 6의 기본 스크롤 동작을 재정의하는 방법
- 12. magento를 재정의하는 방법 1.7 기본 Mage_Page codePool
- 13. javascript/jquery에서 기본 확인을 재정의하는 방법
- 14. 일부 기본 CurrentCulture 값을 재정의하는 방법
- 15. django에서 스택 추적 템플릿을 재정의하는 방법은 무엇입니까?
- 16. VCS 템플릿을 재정의하는 동안 TeamCity에서 레이블 지정
- 17. django 템플릿을 결합하고 {{}}
- 18. django 템플릿을 재사용 하시겠습니까?
- 19. Django 템플릿을 폼으로 확장하기
- 20. Django TemplateResponse가 다중 템플릿을 처리하는 방법
- 21. 외래 키를 사용하여 django 템플릿을 재편성하는 방법
- 22. 기본 Django - 맞춤 관리자
- 23. Django 템플릿을 스 니펫으로 사용
- 24. 재정의하는 방법
- 25. 기본 방정식을 재정의하는 방법은 무엇입니까?
- 26. TabItem - 템플릿을 변경하고 기본 스타일을 유지하는 방법?
- 27. 수은 기본 제공 템플릿을 사용하는 방법?
- 28. Freemarker 기본 템플릿을 찾으십시오
- 29. jquery 테마를 재정의하는 방법
- 30. context.getUser()를 재정의하는 방법
위대한 답변, 감사합니다! – user995469