ログインに関する関数を書きます。以下のように:
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/」が表示されることがわかりました。ページをリロードするには?