Django' next'重定向登录和新用户

时间:2017-07-25 19:25:00

标签: python django

我有一个电子商务网站,用户可以在不登录的情况下查看广告。但是,当他们想要发布广告时,他们会被重定向到登录页面,在成功登录后,他们会被定向到'制作广告'页。 此功能正常。问题是当用户被重定向登录页面时,她点击了“新用户”。并创建一个帐户,她不会被重定向到创建广告'创建帐户成功后的页面。

到目前为止,我的代码看起来像这样:

的login.html:

#login form


<form method="post" action="{% url 'login' %}">   {% csrf_token %}   {% if request.GET.next %}   <input type="hidden" name="next" value={{ request.GET.next }} />   {% endif %}
        <b>Name:</b>
         {{ form.username }}
        <b>Password:</b>
        {{ form.password }}   <input type="submit" value="OK"> </form>
    # button to redirect to new account creation page
 <a href="{% url 'unauth_home_new' %}#section0"><button>New Account</button></a> </div>

views.py:

def login(request, lang=None, *args,**kwargs):
    if request.user.is_authenticated():
        if 'next' in request.POST:
            return redirect(request.POST['next'])
        return redirect("home")
    else:
        if request.method == 'POST':
            if lang == 'ur':
                return log_me_in(request=request,template_name='login_ur.html')
            else:
                return log_me_in(request=request,template_name='login.html')
        else:
            if lang == 'ur':
                return log_me_in(request=request,template_name='login_ur.html')
            else:
                return log_me_in(request=request,template_name='login.html')

1 个答案:

答案 0 :(得分:1)

您需要在创建帐户页面上进行下一步。从登录链接到创建用户页面后,下一个链接丢失。所以从登录中传递下一个来创建用户页面。

您可以将其添加到链接以创建新帐户。您可能需要从登录视图中的django中的url在服务器端获取它并将其发送到登录模板,以便将其添加到链接。