最も明白なのは、セッションを使用することです。アップロードされたファイルの名前をいくつかのセッション変数に保持します。
auth.verify_email(onaccept=...) を使用する
ユーザーの電子メールが確認されると、コードが呼び出されます - 次に、ファイルとユーザーを関連付けることができます: session.variable および auth.user_id からのファイル名
。
ファイルのテーブルに user.email のフィールドを含めるよりも、ユーザーが別のコンプや別のセッションからの登録を考えて確認する時間を持てるようにしたい場合:
db.define_table('gifts',
Field('im', 'upload', requires=IS_EMPTY_OR(IS_IMAGE(maxsize=(200, 200))), autodelete=True, uploadfolder='static/gifts'),
Field('email', requires=IS_EMAIL()),
Field('notes','text', default='', writable=True),
Field('t0','datetime',default=request.now, readable=False, writable=False),
Field('t', 'datetime', default=request.now, update=request.now, writable=False),
Field('rating', 'integer', default=0, writable=False, readable=False),
Field('hidden', 'boolean', default=True, writable=False, readable=True),
)
次に、onaccept のコールバック関数に一致クエリを含めます。
db(db.gifts.email==auth.user.email).update(hidden=False)
ユーザーに適切なフィードバックを提供する前に、非表示のファイルを選択することをお勧めします (確認の瞬間までにいくつかのファイルをアップロードした可能性があります)。
幸運を