在Django中获取页面动态标题的好方法是啥?
Posted
技术标签:
【中文标题】在Django中获取页面动态标题的好方法是啥?【英文标题】: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 可用。但你的头衔取决于你。
【参考方案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>
【讨论】:
以上是关于在Django中获取页面动态标题的好方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Django/Python 将批量 .csv 数据上传到 webapp 的好方法是啥?
Django 动态获取视图 url 并检查其是不是为当前页面
Django 动态获取视图 url 并检查其是不是为当前页面