0

ユーザー登録とログイン機能を含むアプリを作成しています。ログイン/登録アクションが成功した後、ユーザーは次の場所にリダイレクトされます。user.html

現在、HTML テキスト全体が URL パラメーターとして表示されており、エラー 404 がスローされています。

ビュー処理のための私のビューコード:

def index(request):
  return render(request, "app/index.html")

def user(request):
  return render(request, "app/user.html")

def userLogin(request):
  print "Loggin In!"
  loginUser = authenticate(username = request.POST["username"], password = request.POST["password"])
  print loginUser.username
  print loginUser.is_staff
  if loginUser is not None:
    if loginUser.is_active:
      login(request, loginUser)
      return HttpResponseRedirect(reverse(user))

そして私のURL:

urlpatterns = patterns("",
  url(r'^$', views.index, name = "index"),
  url(r'^user/$', views.user),
  url(r'^registerNewUser/$', views.registerNewUser),
  url(r'^userLogin/$', views.userLogin),
)

リダイレクト時に、次のメッセージが表示されます。

Django tried these URL patterns, in this order:

^admin/
^app/ ^$ [name='index']
^app/ ^user/$
^app/ ^registerNewUser/$
^app/ ^userLogin/$


The current URL, app/<html><head><title>User Landing Page</title><link rel = "stylesheet" type = "text/css" href = "/static/css/jquery-ui.min.css" ><link rel = "stylesheet" type = "text/css" href = "/static/css/main.css"><script type = "text/javascript" src = "/static/js/jquery.js"></script><script type = "text/javascript" src = "/static/js/jquery-ui.min.js"></script><script type = "text/javascript" src = "/static/js/jquery.cookie.js"></script><script type = "text/javascript" src = "/static/js/csrfSetup.js"></script></head><body>User is logged</body></html>, didn't match any of these.

ログインに成功したときに HTML をレンダリングするにはどうすればよいですか?

4

2 に答える 2

1

django のドキュメントとの方法をもう一度読んでください。

あなたのviews.pyで

def index(request):
  return render(request, "app/index.html")

def user(request):
  return render(request, "app/user.html")

def userLogin(request):
    loginUser = authenticate(username = request.POST["username"], password = request.POST["password"])     
    if loginUser is not None:
      if loginUser.is_active:
        login(request, loginUser)
        return HttpResponseRedirect(reverse("user")) #See that! it's a url name!
    return HttpResponse(reverse("index")) # What happens if can't log in?

あなたのurls.pyで

urlpatterns = patterns("",
  url(r'^$', views.index, name = "index"),
  url(r'^user/$', views.user, name="user"), #Note the "user"!
  url(r'^registerNewUser/$', views.registerNewUser),
  url(r'^userLogin/$', views.userLogin),
)
于 2013-07-09T01:03:42.757 に答える