0

このコードをローカルホストに実装しようとしています:

def form_a():
   form = SQLFORM(db.registration, deletable=True, request.args(0), upload=URL(r=request, f='download'))
   if form.accepts(request.vars, session):
       if not form.record:
           response.flash = "Your input data has been submitted."
       else:
           if form.vars.delete_this_record:
               session.flash = "User record successfully deleted."
           else:
               session.flash = "User record successfully updated."
           redirect(URL(r=request, f='form_a’))
   records = db().select(db.registration.ALL)
   return dict(form=form, records=records)

しかし、次の行でキーワード arg エラーの後に非キーワード argが表示されます。

   form = SQLFORM(db.registration, deletable=True, request.args(0), upload=URL(r=request, f='download'))

そして、次の行でリテラル エラーをスキャン中に EOL が発生します。

redirect(URL(r=request, f='form_a’))

Python 3 と Web2Py 2.4.6 を使用しています。

4

3 に答える 3

2

キーワード以外の引数があります:

form = SQLFORM(db.registration, deletable=True, request.args(0), upload=URL(r=request, f='download'))
                                                ^^^^^^^^^^^^^^^

キーワード引数の後:

form = SQLFORM(db.registration, deletable=True, request.args(0), upload=URL(r=request, f='download'))
                                ^^^^^^^^^^^^^^

deletable非キーワード引数を作成するか、request.args(0)キーワード引数を作成する必要があります。

2 番目のエラーについては、ここにあるこの引用は、実際には最後の引用ではありません。

redirect(URL(r=request, f='form_a’))
                                 ^

巻き毛になっていることに注目してください。通常の一重引用符に置き換えます。

于 2013-05-12T02:41:59.480 に答える
1

すべての位置引数はキーワード引数の前に来る必要があるため、キーワード引数がその前に渡さrequest.args(0)れたため、ここでエラーが発生しています。deletable=True

フォーム = SQLFORM(db.registration, deletable=True, request.args(0), upload=URL(r=request, f='download'))

ドキュメントから:

関数呼び出しでは、キーワード引数は位置引数の後に続く必要があります。渡されるすべてのキーワード引数は、関数が受け入れる引数の 1 つと一致する必要があり、それらの順序は重要ではありません。

また、 redirect(URL(r=request, f='form_a’))さまざまな種類の開始引用符と終了引用符を使用しています。

f='form_a'または_f="form_a"

于 2013-05-12T02:43:13.787 に答える