我已按照设置 web2py 身份验证表单的所有步骤进行操作。使用的 web2py 版本是 2.4.7 稳定版。
(1) 在model/db.py中添加Auth
from gluon.tools import *
auth = Auth(globals(),db)
auth.define_tables(username=True, signature=False)
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.remember_me_form = False
auth.settings.allow_basic_login = True
auth.settings.hideerror = False
(2)在controller/default.py中添加def用户
def user():
return dict(form=auth())
(3) 最后我用@auth.requires_login() 测试我的功能
我在 db.auth_user 中插入了来自 adminapp 的用户
出现登录表单,但我无法登录,也无法注册新用户。没有错误,只是清除了文本字段,没有发生任何其他事情。
对于 login_next 附加 '#'
_next=/init/service/index%3Fservice_code%3Dsfvod#
我无法捕捉到任何类型的错误或警告。请帮助,如果有人知道如何解决这个问题。
这是我的用户登录表单/views/default/user.html 的简单视图,我试图查看forms.errors,它是空的。
{{extend 'login.html'}}
<h2>{{=T( request.args(0).replace('_',' ').capitalize() )}}</h2>
<div id="web2py_user_form">
{{=form}}
{{print form.errors}}
</div>
我查看了生成的 Post Request Body Content-Type: multipart/form-data; 边界=---------------188042046317656 内容长度:637 --------------- --------------188042046317656 内容处置:表单数据;name="username" trexxx -----------------188042046317656 Content-Disposition: form-data; name="password" greff177 -----------------------------188042046317656 内容处置:表单数据;name="_next" /init/default/change_language?language=BG -----------------------------188042046317656 Content-Disposition: form -数据; name="_formkey" ad38565c-d30a-4f2a-be74-4492e9c19f57 -----------------------------188042046317656 内容处置:形式-数据; name="_formname" 登录 ------------------188042046317656--
对于所有使用身份验证形式的尝试 - 它不进行身份验证。
我还使用 auth.login_bare(user_name,user_pass) 检查我创建的用户/密码,这里的结果是好的,用户存在并且在表 db.auth_user 中是正确的