Python 无法从web.py中的登录页获取值

Python 无法从web.py中的登录页获取值,python,authentication,web.py,Python,Authentication,Web.py,我正在使用pythonweb.py框架创建一个小的web应用程序,它刚刚 登录屏幕(身份验证) 带有记录列表的屏幕(成功登录后) 目前,我正在尝试创建一个登录屏幕身份验证 我创建了一个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/')

我正在使用pythonweb.py框架创建一个小的web应用程序,它刚刚

  • 登录屏幕(身份验证)

  • 带有记录列表的屏幕(成功登录后)

  • 目前,我正在尝试创建一个登录屏幕身份验证

    我创建了一个
    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>
    
    有人能告诉我为什么我无法获取通过浏览器输入的详细信息吗?我是否遗漏了上述代码中的任何内容,最终我的意图是

    创建
    登录
    页面,并通过检查数据库来验证用户详细信息

    如果用户退出,则将
    重定向到下一页


    我请求您帮助我编写代码,以便从浏览器获取详细信息,签入数据库并重定向到另一个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())
    
    在那次更改之后,代码对我有效。祝你好运

    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())