【问题标题】:Passing In Value for Title Variable in Django Template在 Django 模板中为标题变量传递值
【发布时间】:2016-06-01 06:53:05
【问题描述】:

我正在处理 Django 模板中的以下代码:

<!-- Override title of base -->
{% block title %}{{ title }} | {{ site_title|default:_('Hello World') }}{% endblock %}

对于 Django 管理网站,上面的 title 变量的值(即{{ title }})默认为“登录”。这个值在哪里定义?我想更改此值,但将其传入而不是硬编码。

【问题讨论】:

  • 对于登录/注销/密码重置模板,titledjango.contrib.auth.views 中定义。
  • 如何通过传入变量的值而不是硬编码模板中的值来覆盖该值?
  • 我认为您需要用自己的视图替换这些视图。但在这种情况下,在模板中硬编码title 的值似乎是一个更好、更容易的选择。

标签: python django templates


【解决方案1】:

您可以在模板中使用变量{{title}}并使用视图传递内容,如下所示:

template.html
<title>{{ title }}</title>

views.py
def something(request):
    #Do something
    return render_to_response('template.html', context_instance=RequestContext(request,{'title':'Here is what you want to show as title'}))

【讨论】:

  • 无论如何要通过定义常量而不是更改视图来实现这一点?我不想覆盖视图,因为我正在使用 django.contrib.auth.views 中的视图。
猜你喜欢
  • 2021-02-15
  • 1970-01-01
  • 2021-10-27
  • 2017-03-10
  • 2018-12-20
  • 2019-07-31
  • 1970-01-01
  • 2015-06-22
  • 2012-09-27
相关资源
最近更新 更多