Наследовать шаблон в Django
Я могу сделать home.html
и это печатает Mary had a little lamb
который sitetitle
Вот код для home.html
<head>
</head>
<body>
<h1>{{sitetitle}}</h1>
<h1>{% block fun %} {% endblock %}</h1>
</body>
Но это не рендеринг fun
блокировать в title.html
, хотя он находится в том же каталоге.
Вот код для title.html
{% extends "home.html" %}
{% block fun %}
{{ link }}
{% endblock %}
Вот код для views.py
из django.shortcuts импорт рендеринг из моделей импорт siteprop из django.template импортный загрузчик
def testf(request) :
obj=siteprop.objects.first()
context=obj.__dict__
if '_state' in context:
del context['_state']
print context
return render(request,"home.html",context)
Вот код для urls.py
from django.conf.urls import include, url
from django.contrib import admin
from thingslab import views
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^test/',views.testf,),
]
1 ответ
fun
блокировать в title.html
не рендеринг, потому что, по вашему мнению, вы рендеринг home.html
,
Джанго не знает автоматически, что код title.html
должны быть включены в home.html
только потому, что он также содержит fun
блок.
Вы должны сделать title.html
вместо home.html
:
return render(request, "title.html", context)