django中重定向字段值的含义是什么

django中重定向字段值的含义是什么,django,django-templates,django-views,Django,Django Templates,Django Views,这个代码是什么意思 {% if redirect_field_value %} <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" /> {% endif %} {%if重定向\字段\值%} {%endif%} 当我们使用django allauth库时,可以使用上面的html snip从django应用程序注销,在表单中使用重定向字段值发布到URL帐户注销

这个代码是什么意思

{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
{%if重定向\字段\值%}
{%endif%}

当我们使用django allauth库时,可以使用上面的html snip从django应用程序注销,在表单中使用重定向字段值发布到URL帐户注销或帐户/注销,其关联视图负责操作

注意:默认情况下,redirect_field_name='next'传递给函数get_next_redirect_url以获取重定向url

class LogoutView(TemplateResponseMixin, View):

    template_name = "account/logout." + app_settings.TEMPLATE_EXTENSION
    redirect_field_name = "next"

    def post(self, *args, **kwargs):
        #self.get_redirect_url method is called by passing the redirect_field_name='next' 
        #which is used further to logout the authenticated user 
        url = self.**get_redirect_url()**
        if self.request.user.is_authenticated:
            self.logout()
        response = redirect(url)
        return _ajax_response(self.request, response)

    def logout(self):
        adapter = get_adapter(self.request)
        adapter.add_message(
        self.request,
        messages.SUCCESS,
        'account/messages/logged_out.txt')
    adapter.logout(self.request)

    def get_redirect_url(self):
        return (
            get_next_redirect_url(
                self.request,
                **self.redirect_field_name**) or get_adapter(
                    self.request).get_logout_redirect_url(
                        self.request))
正如我看到的,每个视图(注册、登录、注销)都定义了默认的redect_字段_名称,因此在执行注销操作时,删除上面的标记仍然有效

<form method="post" action="{% url 'account_logout' %}">
{% csrf_token %}
<!-- {% if redirect_field_value %}
<input type="hidden" name="{{redirect_field_name}}" value="{{redirect_field_value}}">
{% endif %} -->
<button type="submit" class="nav-link btn btn-sm sgp">SignOut</button>
</form>

{%csrf_令牌%}
签到

这是处理此表单后提供重定向url的一种方法。不是本机django变量。可能是像Allauth这样的插件的一部分。这段代码在pinax signup.htmlYeah的一个文件中,但是你的想法对吗?