我已按照设置web2py身份验证表单的所有步骤进行操作。 使用的web2py版本是2.4.7稳定。
(1)将Auth添加到model / db.py
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>
我看了一下生成的帖子 请求机构 内容类型:multipart / form-data;边界= --------------------------- 188042046317656 内容长度:637 ----------------------------- 188042046317656 内容处理:表格数据; name =“username”trexxx ----------------------------- 188042046317656 内容处理:表格数据; name =“password”greff177 ----------------------------- 188042046317656 内容处理:表格数据; name =“_ next”/ init / default / change_language?language = BG ----------------------------- 188042046317656 内容处理:表格数据; name =“_ formkey”ad38565c-d30a-4f2a-be74-4492e9c19f57 ----------------------------- 188042046317656 内容处理:表格数据; name =“_ formname”登录 ----------------------------- 188042046317656 -
对于使用auth表单的所有尝试 - 它不进行身份验证。
我还检查我创建的用户/通行证 auth.login_bare(USER_NAME,user_pass) 结果在这里没问题,用户存在并且在表db.auth_user
中是正确的