web.py

2012-10-09 2 views
0
난 그냥

web.py

  1. 로그인 화면 (인증)

  2. 화면이 작은 웹 응용 프로그램을 만드는 파이썬 web.py 프레임 워크를 사용하고

    의 로그인 페이지에서 값을 얻을 수 없습니다 (succesfull 로그인 후) 기록의 목록 현재

에 내가 로그인 화면 인증을 만들기 위해 노력하고

나는

index.py 아래와 같은 코드를 가진 index.py 파일을 만든

import os 
import sys 
import web 
from web import form 
from web.contrib.auth import DBAuth 

render = web.template.render('templates/') 

urls = (
    '/', 'Login', 
) 

app = web.application(urls, globals()) 
db = web.database(dbn='mysql', db='Python_Web', user='root', pw='redhat') 

class Login: 

    login_form = form.Form( 
     form.Textbox('username', form.notnull), 
     form.Password('password', form.notnull), 
     form.Button('Login'), 
     ) 

    def GET(self): 
     form = self.login_form() 
     return render.login(form) 

    def POST(self): 
#  if not self.login_form.validates(): 
#   return render.login(self.login_form) 
     post = self.login_form() 
     username = post['username'].value 
     print username,">>>>>>>>>>>>>>>>>>>>>>username" 
     password = post['password'].value 
     ident = db.select('user', where='user_login=$username', vars=locals()) 

if __name__ == "__main__": 
    web.internalerror = web.debugerror 
    app.run()  

login.html 코드

$def with (form) 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Log in</title> 
</head> 
<body> 
<div id="container"> 
    <h1>Log in Details</h1> 
    <form action="" method="post" accept-charset="utf-8"> 
    <p><label for="username">Username: 
    <input type="text" name="username" id="username" maxlength="254" tabindex="1" /> 
    </label></p> 
    <p><label for="password">Password: 
    <input type="password" name="password" id="password" maxlength="254" tabindex="2" /> 
    </label></p> 
    <p><label for="Login"></label><button id="Login" name="Login">Login</button></p> 
    </form> 

</div> 
</body> 

내가 URL로 위의 파일을 실행하면 www.localhost:9080 브라우저에서 나는 username, password and login 버튼이있는 화면을 볼 수 있지만 사용자 이름과 암호를 입력하면 D 및 login 버튼을 클릭하고 이

None >>>>>>>>>>>>>>>>>>>>>>username 
0.0 (1): SELECT * FROM user WHERE user_login=NULL 

나는 세부 사항을 가져올 수없는 브라우저를 통해 입력하고 왜 사람이 나를 보자 할 수 있나요?, 나는

다음과 같다 내가 브라우저와 결과를 보여주는에서 데이터를 가져올 수없는 사용자 이름을 인쇄하려고 나는 위의 코드에서 아무것도없는 그리고 마지막으로 나의 의도는

사용자가

를 종료하는 경우 데이터베이스에 다음 페이지로

redirect을 확인하여 login 페이지와 validate 사용자 세부 사항을 작성하는 것입니다

브라우저에서 세부 정보를 가져 와서 데이터베이스를 체크인하고 사용자가있는 경우 다른 HTML 페이지로 리디렉션하는 코드를 작성하는 데 도움을 요청하십시오. 난 정말 붙어이고 당신이 그 코드는 나를 위해 작동 변경 한 후

def POST(self): 
    post = self.login_form() 
    post.validates() 
    username = post['username'].value 
    print username,">>>>>>>>>>>>>>>>>>>>>>username" 
    password = post['password'].value 
    ident = db.select('user', where='user_login=$username', vars=locals()) 

입력에 액세스하기 전에 양식을 확인해야합니다이 과정을

답변

0

를 완료하기 위해 내 머리를 깨는. 행운을 빕니다!