Django allauth:空' signup_url,login_url和logout_url'

时间:2017-09-08 14:22:29

标签: python django django-allauth

使用django 1.11.4并打包django-allauth == 0.33.0

登录正常

默认登录模板' login.html'包含注册页面的链接:

<p>{% blocktrans %}If you have not created an account yet, then please
<a href="{{ signup_url }}">sign up</a> first.{% endblocktrans %}</p>

并且工作正常,但任何其他页面/ accounts / *只是空的

base.html文件:

 <div class="nav-wrapper">
                      <a href="/" class="brand-logo">Logo</a>
                      <ul id="nav-mobile" class="right hide-on-med-and-down">

                             {% if user.is_authenticated %}


                            <li>  Welcome: {% user_display user %}</li>
                            <li><a href="{{ logout_url }}">logout</a></li>

                            {% else %}
                            <li><a href="{{ login_url }}">sign in</a></li>
                            <li><a href="{{ signup_url }}">sign up</a></li>
                            {% endif %}
                        <li></li>

                      </ul>
                    </div>

我在/ accounts / *上使用base.html以及索引。 在/ accounts / *上它的工作正常但在索引上{{logout_url}}等是空的。

设置提取:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'debug': DEBUG,
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

Same problem answer didnt help

1 个答案:

答案 0 :(得分:0)

您的退出页面显示在{%if user.is_authenticated%}之后。这意味着如果用户未经过身份验证,则您的注销页面和其他属于&#34; if语句&#34;不会显示。

如果要显示,请删除{%if user.is_authenticated%}