Django html 扩展标签

Django html extends tags

这是我的base.html

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">


  </head>
  <body>

    {% block content %}{% endblock content %}


  </body>
</html>

这是 home_page 我使用 {% extends 'base.html' %}

{% load static %}


{% block content %}

  <div class="container">
    <h1>{{ title }}</h1>
    <h1>Hello, world!</h1>

    <img src="{% static 'img/myImage.jpg' %}" class='img-fluid'>

  </div>

  {% if premium_content %}
  <div class="row">
    <div class="col">
      <h1>Premium</h1>
      {{ premium_content }}

    </div>
    {% endif %}
  </div>


{% endblock content %}

这是我的 views.py,其中有 home_page,在使用 extends 标签之前我可以正确呈现此页面

def home_page(request):
    context = {

        "title":"Hello World We Working"

    }
    if request.user.is_authenticated:
        context["premium_content"] = 'Only premium users see this'

    return render(request, 'MainApp/home_page.html', context)

我收到的错误消息是 TemplateDoesNotExist at / 我不明白我什至尝试将两个 html 文件放在同一目录中,但我仍然收到相同的错误消息

您应该在您的项目或应用程序目录中创建模板文件,并在 settings.py 中更新 TEMPLATES 变量,如下所示:

TEMPLATES = [
    {
       ...

        'DIRS': [os.path.join(BASE_DIR, 'templates')],

       ...

    },
]

然后将您的 HTML 文件放在模板目录中 我希望这对你有用