我正在编写基于 django 的论坛,并且我认为它适合用户浏览他的最后一页。此外,用户跟踪中间件可以很好地帮助提出建议等。
我认为,最简单的方法是使用
Django Middleware
,但我遇到了一个问题:如何获取正在呈现的页面的标题?覆盖process_template_response
?我能到{% block title %}
那里吗?我认为第二种服务器端方式是使用模板标签。在最简单的情况下,它应该看起来像
{% block title %}{% last_visited _("Page title") %}{% endblock %}
.第三种,愚蠢的方法:制作一个ajax脚本,将当前用户打开的带有标题的页面推送到他的会话中。因此,这种方法只会避免我们获取页面标题。
title
我认为,正确的方法是从中间件的模板上下文中获取块。我该怎么做?
谢谢。
更新
用和实现第二种方法作了要点。最简单的用法:templates
django.cache
{% block title %}{% save_visited _("Profile setup") %}{% endblock %}
...
{% load_visited 'visited' %}
{% for title, uri, dt in visited %}
<a href="{{ uri }}">{{ title }} {% trans "at" %} {{ dt }}</a><br/>
{% endfor %}
另外,我仍在寻找一种允许{% block title %}
在中间件中获取页面的方法。当然,我可以使用,即lxml
解析器并获取title
方法process_response
,但它是一个丑陋的矫枉过正。
感谢您的任何建议。