Как расширить и включить в организацию django шаблоны? - PullRequest
0 голосов
/ 30 сентября 2018

У меня есть такой код в папке с шаблонами django:

base.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    {% block home %} {% endblock home %}
</body>
</html>

top.html

<div id="top">
    <h1>This is the navbar content</h1>
</div>

left.html

<div id="left">
    <p>This is the menu content</p>
</div>

Теперь я хочу включить каждый из этих шаблонов в домашний шаблон, подобный этому

home.html

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

{% block home %}
{% include "myapp/top.html" %}
{% include "myapp/left.html" %}
{% endblock home %}

И это моя функция рендеринга в views.pyviews.py

def home(request):
    return render(request, 'myapp/home.html')

Но когда я запускаю сервер, оператор include внутри home.html не работает.Что происходит?

Спасибо.

1 Ответ

0 голосов
/ 30 сентября 2018

введите описание изображения здесь

  home.html
  {% extends "base.html" %}

  {% block home %}
  {% include "top.html" %}
  {% include "left.html" %}
  {% endblock home %}
 views.py
  def home(request):
      return render(request, 'home.html')
 urls.py (in your apps)

  from django.urls import path
  from .import views

  urlpatterns = [

  path('', views.home),
  ]

 urls.py (in your main folder)
  from django.contrib import admin
  from django.urls import path, include

 urlpatterns = [
 path('admin/', admin.site.urls),
 path('', include('your app name.urls')),
 ]

Это должно работать 1000%, другой HTML-файл такой же

...