2015-07-16 26 views
11

Web sitemin her sayfasına altbilgi ve üstbilgi eklemeye çalışıyorum. Sitenin genel düzenini içeren bir base.html dosyası yaptım.Django Her sayfanın üstbilgisi ve üstbilgisi {% extends} ile

{% extends "public/base.html" %} 

<h1>Content goes here</h1> 

benim üstbilgi ve altbilgi görebilirsiniz, ama nasıl içeriği görüntülemek do: my about.html sayfasında

, ben yaptım. Bu about.html sayfasında bir şeyler yazmak istiyorum. İçeriğin içeriği ortada görüntülenmiyor.

cevap

17

base.html dosyasında bir blok tanımlamanız ve about.html'ye doldurmanız gerekir.

base.html:

<header>...</header> 
{% block content %}{% endblock %} 
<footer>...</footer> 

{% extends "public/base.html" %} 

{% block content %} 
<h1>Content goes here</h1> 
{% endblock %} 

Bu

about.html tüm tamamen öğretici açıklanmıştır.

+0

Teşekkürler! Blok içeriğini ve bitiş bloğunu ekledim ve işe yaradı! – encrypt

+0

Quickk soru. Öyleyse metin ve düzeni css ile düzenlemek istesem, sadece bu sayfa için ayrı bir css dosyası yapardım ve bunu nasıl genişletirim? Aynı şekilde? – encrypt

+0

Yani CSS statik bir dosya olarak kabul edilir, bu nedenle şunları kullanırsınız: '{% load staticfiles%}'. Daha fazla bilgi için: https://docs.djangoproject.com/en/1.8/howto/static-files/ Ayrıca, cevabı doğruysa işaretleyin. – wkcamp

4
{% extends "public/base.html" %} 
{% block content %} 
<h1>Content goes here</h1> 
{% endblock %} 

Veya sadece about.html oluşturmak ve ana html istediğiniz dahil.

Örnek: içine yerleştirilmiş

{% extends "base.html" %} 
{% block content %} 
    <!-- Content here --> 
{% endblock %} 

şey:

<html> 
    <body> 
     <!-- header code --> 
     {% block content %} 
     {% endblock %} 
     <!-- footer code --> 
    </body> 
<html> 

Sonra diğer dosyada böyle bir şey yaptın:

{% extends "public/base.html" %} 
    {% block content %} 
     "Your code" 
    {% include "core/about.html" %} 
    {% endblock %} 
1

senin base.html şöyle diyelim Şablonun (genişletilmiş dosya) gövde etiketinin, alt dosyanın içeriğindeki öğeler tarafından üzerine yazılması gerekir. Bu etiketin dışına genişletilmiş veya kopyalanacaktır.

İşte burada the docs on the block tag

+1

Blok adı ebeveyn ve genişletilmiş şablonlarda durum olmalıdır. Bu durumda, diğer dosyada blok, {% block content%} 'ile değil, {% block body%}' ile başlamalıdır. –

+0

Haklısın. Düzenlenen. –

İlgili konular