“is_logged_in”templatetag不呈现

时间:2008-10-30 14:36:20

标签: django templatetags

出于某种原因,模板标签不会在django admin的模板中呈现。

使用以下代码段: http://docs.djangoproject.com/en/dev/ref/templates/api/?from=olddocs#shortcut-for-simple-tags

{% if is_logged_in %}Thanks for logging in!{% else %}Please log in.{% endif %}

当放入admin index.html时,如果用户已登录,则显示“请登录”

与templatetags相同,无法获取任何应用程序以显示,做任何事情。没有错误/它们也没有得到处理

2 个答案:

答案 0 :(得分:5)

这只是一个例子,is_logged_in变量实际上并没有在任何模板中定义,除非你把它放在上下文中。

如果您添加了该行并获得Please log in.,则表示该标记正在呈现。如果if失败并转到else,它显然正在运行。但是,您需要在模板中找到可以用于if案例的内容。我没有搞乱newforms-admin中的管理模板,但是根据它们是否使用RequestContext以及你启用了哪些ContextProcessors - 你可能会说{% if not request.user.is_anonymous %} ...或类似的东西。

答案 1 :(得分:0)

我刚试过这个:

request.user.is_authenticated

正好在模板中,只是按照我们的意愿工作!