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 文件放在模板目录中
我希望这对你有用
这是我的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 文件放在模板目录中 我希望这对你有用