gpt4 book ai didi

带有 user.is_authenticated 的 Django 模板标签 + 模板不起作用

转载 作者:行者123 更新时间:2023-12-01 10:14:50 25 4
gpt4 key购买 nike

我有一个奇怪的问题,在我的设置文件中,所有需要为模板中的 user.is_authenticated 使用启用的内容都已启用。

我有以下模板标签代码:

from django import template
from progmatic.cms.models import navigation, navigation_item
from django.template.defaultfilters import slugify
from django.shortcuts import render_to_response
from django.template import RequestContext

register = template.Library()

""" Gets the menu items you have entered in the admin.
No arguments are accpeted"""

def get_hoofd_menu( ):
menu = navigation.objects.get( slug = "hoofd-menu");
mcontent = navigation_item.objects.filter( parent_menu = menu);
return { 'mcontent' : mcontent }

def get_sub_menu( menu ):
menu = navigation.objects.get( slug = slugify(menu) )
mcontent = navigation_item.objects.filter( parent_menu = menu )
c = RequestContext( request, { 'mcontent': mcontent,} )

return render_to_reponse('menu.html', RequestContext(request, { 'mcontent' : mcontent }) )

register.inclusion_tag('menu.html')( get_hoofd_menu )
register.inclusion_tag('menu.html')( get_sub_menu )

模板(menu.html)如下:

{% block mainmenu %}
<ul>
{% for content in mcontent %}
{% if content.login_required %}
{% if content.to_page %}
<li><a href="/page/{{ content.to_page_slug }}">{{ content.name }}</a></li>
{% endif %}
{% if content.to_url %}
{% if content.external %}
<li><a href="{{ content.to_url }}" rel="external">{{ content.name }}</a></li>
{% else %}
<li><a href="{{ content.to_url }}">{{ content.name }}</a></li>
{% endif %}
{% endif %}
{% else %}
{% if content.to_page %}
<li><a href="/page/{{ content.to_page_slug }}">{{ content.name }}</a></li>
{% endif %}
{% if content.to_url %}
{% if content.external %}
<li><a href="{{ content.to_url }}" rel="external">{{ content.name }}</a></li>
{% else %}
<li><a href="{{ content.to_url }}">{{ content.name }}</a></li>
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
</ul>
{% if user.is_authenticated %}
JEEEEEEEJ LOGGED IN
{% else %}
Not logged in
{% endif %}
{% endblock %}

但它总是返回 Not logged in 即使我已登录...有人知道这段代码有什么问题吗?

提前致谢。

您好,花花公子

最佳答案

你有django.core.context_processors.auth吗在 TEMPLATE_CONTEXT_PROCESSORS设置?

要尝试的另一件事是您的 render_to_reponse 语法。根据文档,应该是

return render_to_response('my_template.html',
my_data_dictionary,
context_instance=RequestContext(request))

关于带有 user.is_authenticated 的 Django 模板标签 + 模板不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2081613/

25 4 0