0

ログインに関する関数を書きます。以下のように:

def login(request,template_name="login/login.html"):

    res = {}
    if(request.method == "POST"):
        username = request.POST.get('username')
        password = request.POST.get('password')

        user = auth.authenticate(username=username,password=password)

        if user is not None:
            if user.is_active:
                auth.login(request,user)
                redirect_to = reverse("home")
                return HttpResponseRedirect(redirect_to)

    return render_to_response(template_name,RequestContext(request,res))

ログインチェックが成功すると、私のホームページにリダイレクトされます。私の問題は、正しいページコンテンツが表示されることです。しかし、URLはエラーです。ログインURLのままです。

リダイレクトページの URL を表示するには?

HTMLコードは次のとおりです。

<form class="authenticate" action="{{ next }}" method="post">
    {% csrf_token %}
    <table border="0">
        {{ login_form }}
    </table>
    <input type="hidden" name="action" value="login" />
    <input type="hidden" name="next" value="{{ next }}" />
    <input type="submit" id="login-btn" value="login" />
</form>

urls.py は次のとおりです。

urlpatterns = patterns('',
url(r'^$','mypro.views.home',name='home'),
url(r'^login/',include('login.urls')),
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
)


urlpatterns = patterns('',
url(r'^$','login.views.login',name="login"),
url(r'^logout/$','login.views.logout',name="logout"),
 )

firebugの応答と html の両方に、「ページをリロードしてソースを取得: http://xx.xx.xx.xx:8002/h5acr/login/refresh/」が表示されることがわかりました。ページをリロードするには?

4

1 に答える 1

0

ログイン フォームでは、アクションは ではなく、ログイン URL にする必要がありますnext

<form class="authenticate" action="{% url 'login' %}" method="post">
于 2013-11-01T09:37:25.420 に答える