我的web2py应用程序有一个可用的登录表单。
我不知道我改变了什么但是在登录后,应用程序返回了无效的函数default / user msg。
我正在使用auth.settings.controller =“user”重定向到正确的控制器。现在它不起作用。
应用程序应该返回它来自的页面。仅限登录用户
解决这个问题之后,我正在安装自己的SVN,但直到那时。 我真的不知道该怎么做
我正在使用auth.navbar()
我的auth在视图中是{{='auth'在globals()和 auth.navbar(分隔符=('','|',''))}}
我的用户控制器user.py是
def user(): form = auth() return dict(form = form)
我的user.py模型是
if(request.controller =='user'或request.controller =='school'或request.controller =='timetable'和request.cookies.has_key('mycookie')): response.generic_patterns = ['*'] if request.is_local else [] database = request.cookies ['mycookie']。value baza = DAL('postgres:// postgres:postgres @ localhost /'+ database,migrate = True) 来自gluon.tools导入邮件 auth = Auth(baza)
auth.settings.logout_next=URL('school','index?school=' + database)
auth.settings.registration_requires_approval = True
#auth.settings.reset_password_requires_verification = True
#auth.settings.login_after_registration = False
auth.settings.register_onaccept=lambda form: mail.send(to=['vid.ogris@algit.si'],
subject='web2py registration',
# If reply_to is omitted, then mail.settings.sender is used
reply_to='us@example.com',
message='Kreiral se je nov uporabnik, ki ga je potrebno potrditi')
auth.settings.expiration = 3600
auth.define_tables()
mail=Mail()
auth.settings.mailer=mail
mail.settings.server='smtp.gmail.com:587'
mail.settings.sender='xxx@gmail.com'
mail.settings.login='xxx@gmail.com:xxx'
#auth.settings.registration_requires_verification = True
auth.messages.registration_pending = u'Registracija je v postopku odobritve. Ko bo vaš račun potrjen boste prejeli e-mail.'
auth.messages.invalid_login = 'Nepravilno geslo'
auth.messages.invalid_user = 'Uporabnik ne obstaja'
auth.settings.controller="user"
## if you need to use OpenID, Facebook, MySpace, Twitter, Linkedin, etc.
## register with janrain.com, write your domain:api_key in private/janrain.key
from gluon.contrib.login_methods.rpx_account import use_janrain
use_janrain(auth,filename='private/janrain.key')
答案 0 :(得分:1)
更改auth.settings.controller
不起作用(需要更新本书)。相反,你必须这样做:
auth = Auth(baza, controller='user')
此外,而不是:
URL('school','index?school=' + database)
你应该这样做:
URL('school','index', vars=dict(schools=database))
答案 1 :(得分:1)
有时html中的注释不仅仅是注释:)我删除了一行包含auth.register()的内容,即使我注释了它,现在它还可以使用