データベースモデルの構造は次のとおりです。Web2Pyはバックエンドでauthフォームを処理します
私はhostel_nameを尋ねる登録フォームをユーザに提示し、その後、バックエンドでhostel_nameをそれをホステルIDに従って格納するように変換する必要があります。
default.pyコントローラ/
def user():
return dict(form=auth())
モデル/ db.py
db.define_table(
'hostels',
Field('hostel_admin_group_id', 'integer'),
Field('hostel_residents_group_id', 'integer'),
Field('hostel_name', length=32, unique=True),
)
db.define_table(
'users',
Field('username', length=32, unique=True),
Field('password', 'password', length=32, readable=False, label='Password'),
Field('first_name', 'string', length=32, default=''),
Field('last_name', 'string', length=32, default=''),
Field('email_id', 'string', length=32),
Field('degree_name', 'string', length=32),
Field('hostel_id', db.hostels),
Field('picture_id', 'integer'),
Field('year_of_degree', 'integer'),
)
ビュー/ user.html
{{extend 'layout.html'}}
<h2>
{{=T('Sign Up') if request.args(0) == 'register' else T('Log In') if request.args(0) == 'login' else T(request.args(0).replace('_',' ').title())}}
</h2>
<div class="container">
<div class="row">
<div id="web2py_user_form" class="col-lg-6">
{{
if request.args(0)=='login':
if not 'register' in auth.settings.actions_disabled:
form.add_button(T('Sign Up'),URL(args='register', vars={'_next': request.vars._next} if request.vars._next else None),_class='btn btn-default')
pass
if not 'request_reset_password' in auth.settings.actions_disabled:
form.add_button(T('Lost Password'),URL(args='request_reset_password'),_class='btn btn-default')
pass
pass
=form
}}
</div>
</div>
</div>
{{block page_js}}
<script>
jQuery("#web2py_user_form input:visible:enabled:first").focus();
{{if request.args(0)=='register':}}
web2py_validate_entropy(jQuery('#auth_user_password'),100);
{{elif request.args(0)=='change_password':}}
web2py_validate_entropy(jQuery('#no_table_new_password'),100);
{{pass}}
</script>
{{end page_js}}
上記本コードは、登録をユーザに提示しますフォームとユーザーがホステルIDを入力することを期待しています。これを有効にするには何を変更する必要がありますか?
何か助けていただければ幸いです。
ありがとうございました。これにひどく詰まっていた。私は今日だけweb2pyを学び始めましたが、フォーマットがどのように使われるかを今は理解していませんでした。あなたに感謝します。 私の質問の別の1つを見てください。私はweb2pyを使用して残りのAPIを作成しようとしていますが、私はすでにそれが提供する容易さに魅了されています。しかし、私の定義されたapiのいくつかは不正行為です。詳細については、下のリンクをご覧ください。 http://stackoverflow.com/questions/36235871/web2py-rest-api-endpoint-gives-invalid-path-output –