0

すべてのビューで @login_decorator('/​​login/') を使用しています。他の URL にアクセスしようとすると、ログイン ページにリダイレクトされます。URL は次のようになります。

http://127.0.0.1:8000/login/?next=/upload_file/

正しいユーザー名とパスワードを入力して [送信] をクリックしても、何も起こりません。私はまだ同じ URL の同じページにいます。

これが私のform.htmlです:

<form action="/login/" method="post">
{% csrf_token %}
Username: <input type="text" name="username" />
Password: <input type="password" name="password" />
<input type="Submit">

Views.py:

def login_upload(request):
    try:
        if request.method == 'POST':
            usern = request.POST['username']
            unames = ''.join(usern)
            passwo = request.POST['password']
            s = ''.join(passwo)
            h = hashlib.sha1(s).hexdigest()
            db = MySQLdb.connect(user='root', db='galaxy', passwd='devil', host='localhost')
            cursor = db.cursor()
            cursor.execute("SELECT id, username, password FROM galaxy_user where username=%s and password=%s", (unames, h))
            id, compareu, comparep = zip(*cursor.fetchall())
            db.close()

            return HttpResponseRedirect('/upload_file/')
    except ValueError:
            return render_to_response('login.html',  context_instance=RequestContext(request))

urls.py:

urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),
    url(r'^upload_file/', 'fileupload.views.upload_file'),
    url(r'^sync/', 'fileupload.views.sync'),
    url(r'^login_upload/', 'fileupload.views.login_upload'),
    url(r'^upload_file_form', 'fileupload.views.upload_file_form' ),
    url(r'^book_list', 'fileupload.views.book_list'),
    url(r'^backend/', 'fileupload.backend.show_files')
)
4

1 に答える 1

0

フォームに「次の」値を入力する必要があります

<form action="/login/" method="post">
  {% csrf_token %}
  Username: <input type="text" name="username" />
  Password: <input type="password" name="password" />

  <input type="hidden" name="next" value="{{ next }}" />

<input type="Submit">
于 2013-01-08T09:11:47.390 に答える