【问题标题】:What is a good way to get the dynamic title of a page in Django?在Django中获取页面动态标题的好方法是什么?
【发布时间】:2016-07-23 17:42:47
【问题描述】:

我正在尝试自定义 Twitter 上的分享按钮,我正在使用它来分享:

http://twitter.com/intent/tweet?status=[TITLE]+[URL]

我可以使用 {{ request.get_host }} 和 {{ request.path }} 获取 URL,但我似乎无法让标题正常工作。我可以使用任何请求对象来获取当前页面标题的标题吗?谢谢。

【问题讨论】:

  • 显示此页面的查看代码。我假设您在视图中创建标题,并将其传递给您的模板。使用该模板变量
  • 我使用的是标准块标题。 {% block title %}title{% endblock %}尝试在此处插入似乎不起作用:twitter.com/intent/tweet?status={% block title %}{% endblock %}+[URL]。请原谅我在这方面的无知。我刚开始学习 Python 和 Django。
  • 在传递给模板的上下文中设置标题。在模板中{{ title }}。在您的问题中显示您的视图代码
  • 我还没有编写任何代码来处理我认为的标题,所以我无法真正显示任何内容。我想这是下一步......编写一些代码来处理标题。我认为有一种更简单的方法,因为我无需额外代码即可获取 URL。
  • 由于 http 的工作方式,该 URL 可用。但你的头衔取决于你。

标签: python html django twitter social-networking


【解决方案1】:

最简单的方法是: 在你的 base.html 中插入以下代码

#base.html
{% block title %} {% endblock %}

并在您的索引或任何带有您标题的 Html 文件中跟随

#index.html
{% extends 'base.html'%}
{% block title %} My Page Title {% endblock %}

【讨论】:

    【解决方案2】:

    将上下文对象键放在双括号中。 让我们在学校管理系统中制作一个动态教师页面

    #urls.py
    path("teacher/<str:pk>/",views.teacher,name="teacher"),
    

    维尤

    #view
    def teacher(request,pk):
        teacher = Teacher.objects.get(id=pk)
        context= {"teacher":teacher}
        return render(request,'main/teacher.html',context)
    

    模板

     <title>{{teacher.fname}} Page</title>
    

    【讨论】:

      猜你喜欢
      • 2010-10-25
      • 1970-01-01
      • 2011-05-29
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-30
      相关资源
      最近更新 更多