django - Django:如何设置站点名称并将其显示在所有页面标题的末尾
问题描述
例如,有 3 个不同标题的 html 模板:
<title>Page1</title>
<title>Page2</title>
<title>Page3</title>
如何使用变量(或其他方式)在末尾附加站点名称的所有标题?:
<title>Page1 - {{Here is the configurable Site Name}}</title>
<title>Page2 - {{Here is the configurable Site Name}}</title>
<title>Page3 - {{Here is the configurable Site Name}}</title>
解决方案
您通常通过在基本模板中设置站点名称来执行此操作,然后从其他模板扩展。
假设你有这个 base.html 模板
<html>
<head>
<title>{% block page-title %}{% endblock %} - My Site</title>
</head>
...
然后,您可以从其他页面扩展此模板:
{% extends "base.html" %}
{% block page-title %}My first page{% endblock %}
...
这个解决方案是许多 Django 项目中常见的。
现在,如果您想使站点名称可配置,例如,从您的 Django 设置中,您将需要一种方法将其传递给您的视图以进行渲染。由于这是您将为每个视图执行的操作,因此最好在上下文处理器中执行此操作,这样您就不必手动执行此操作。
推荐阅读
- reactjs - 找不到模块:无法解析“react-google-maps/lib/components/addons/MarkerWithLabel”
- c - 这个优先队列程序中的检查功能是如何工作的
- docker - 在 Docker 中使用 RabbitMQ 删除容器
- graphics - 为什么在应用逆透视变换后透视分割?
- android - Android Studio 错误提示“AAPT:错误:预期尺寸但得到(原始字符串)自动。”
- c - 如何解决这个指针错误?(来自不兼容的指针类型)
- visual-studio - 在 Visual Studio 的代码中查看变更集作者
- r - 基于悬停在传单中的目的地(circleMarkers)上突出显示路线(折线)
- firebase - 为什么我可以将枚举保存到 Firestore,但是当我尝试检索它时它会使应用程序崩溃?
- javascript - 如何从innerHTML输出中删除引号