0

私はdjangoを学んでいて、小さなログイン認証システムから始めました。ログイン用のhtmlページを作成しました:

<html>
    <title>Login</title>
    <body>
            <br><br><br><br><br><br><br><br><br><br>
            <form name="login" action = "/loginr/" method = "get">
                    USERNAME:<input type="text" name="uname"><br>
                    PASSWORD:<input type="password" name="passwd"><br>
                    <input type = "submit" value = "Login">
            </form>
    </body>
</html>

私のviews.py:

from django.shortcuts import render
from django.http import HttpResponse
def index(request):
    return render(request,'login_page.html')
x=''
def process(request):
    global x
    x=request.GET
    return HttpResponseRedirect('/login/thanks/')
def thanks(request):
    return render(request, 'thanks.html')

私のurls.py:

from django.conf.urls import patterns,url
from login import views

urlpatterns=patterns('',
            url(r'^$',views.index, name="index"),
            url(r'^loginr/',views.process),
            url(r'^login/thanks/',views.thanks)
    )

一番外側の mysite/urls.py:

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
url(r'^login/', include('login.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^loginr/', include('login.urls')),
url(r'^login/thanks/',include('login.urls')),
)

上記のコードはエラーを示していません。しかし、ログインフォームに入力してログインをクリックすると、ページ自体がリロードされます。「thanks.html」を読み込んでほしい。私がしている間違いは何ですか?

4

1 に答える 1

1

ではviews.py、 をインポートしませんでしたHttpResponseRedirect

from django.http import HttpResponseRedirect

アップデート

次のように変更mysite/urls.pyします。

...
urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'', include('login.urls')),
)

ばかとして変更login/urls.py

...
urlpatterns=patterns('',
    url(r'^loginr/?$',views.process),
    url(r'^login/thanks/?$',views.thanks)
    url(r'^login/?$',views.index, name="index"),
)
于 2013-08-03T06:39:11.553 に答える