1

次のエラーが発生し続けます。BadArgumentError:インスタンスまたは反復可能(、);が必要です。idofOne(str)を受け取りました。

そしてint()に変換しようとしましたが、次のような別のエラーが発生します:ValueError:10進数のint()のリテラルが無効です:''

何が起こっている?私はGoogleAppEngineを使用しています-そしてhtmlテンプレートからidofOneを取得しています。これはjinjaを使用したID表現であり、「1」の値を示しているため、空にしないでください。提案はありますか?

クラスmakeHeadings3(ハンドラー):

def get(self):
    self.render('new_entries/ADMIN_make_headings3.html')

def post(self):
    idofOne = self.request.get("idofOne")

    type2=self.request.get("type2")
    heading2name = self.request.get("headingTwo")
    description2 = self.request.get("descriptionTwo")

    heading3 = self.request.get("headingThree")

    #getting relevant level 1 entry by id 

    level_1_info=Level_1_Headings.get_by_id(idofOne)

実際-テンプレートからの値をid()からkey()に変更しました。ただし、値を取得しているテンプレートで、空の文字列""が返されていることがわかりました。なぜ?テンプレートにキーの値が表示され、正しい名前「keyofOne」で取得しているのに、Pythonサーバーコードに空で戻ってくるのはなぜですか?カテゴリレベル1のキー編集しないでください

4

2 に答える 2

1

以下はそれを修正する必要があります。そのIDの整数値を取得する必要があります

idofOne = int(self.request.get("idofOne"))

postまたはgetパラメータを解析するときは常に、データストアクエリに渡す前に正しいタイプに変換する必要があります。

于 2012-12-31T11:56:46.960 に答える
1

最初に確認できます:

level_1_info=Level_1_Headings.get_by_id("1")

次に、コードにデバッグを追加して、「idofOne」によって返される値を確認する必要があります

import logging
# snip
logging.info("type "+type(idofOne))
logging.info("value "+idofOne)

これがお役に立てば幸いです

于 2012-12-31T07:14:59.560 に答える