1

web2pyを調べ始めたばかりで、ログインに電子メールではなくユーザー名を使用したいと考えています。

私は以下を追加しました:-

auth.define_tables(username=True, signature=False)

バリデーターを追加する必要がありますが、どこに置くかわかりません(ばかげているように聞こえます)。

私はいくつかのオプションを試し、多くの例を見ましたが、それらはすべて、既存のauth_userを使用するのではなく、新しいテーブルを作成します。私は試した :-

auth_table = auth.settings.table_user
auth_table.username.requires = IS_NOT_IN_DB(db, auth_table.username)
auth.define_tables(username=True, signature=False)

ただし、auth_tableはNoneです。

4

1 に答える 1

3

auth.settings.table_userを呼び出すまで存在しませんauth.define_tables()。したがって、コードの順序を変更するだけです。

auth.define_tables(username=True, signature=False)
auth_table = auth.settings.table_user
auth_table.username.requires = IS_NOT_IN_DB(db, auth_table.username)

dbオブジェクトをで定義した場合DAL(..., lazy_tables=True)、auth.settings.table_userは存在しないことに注意してください。その場合、代わりにを行うことができますauth_table = auth.table_user()

于 2012-10-26T14:30:28.360 に答える