2016-08-05 11 views
0

私はユーザーを作成するためのPythonでAPIを開発しようとしています。以下は私のコードです。グローバル名 'reqparse'が定義されていません

from flask import Flask 
    from flask_restful import Resource, Api 
    app = Flask(__name__) 
    api = Api(app) 

    class CreateUser(Resource): 
     def post(self): 
      try: 
      # Parse the arguments 
       parser = reqparse.RequestParser() 
       parser.add_argument('email', type=str, help='Email address to create user') 
       parser.add_argument('password', type=str, help='Password to create user') 
       args = parser.parse_args() 
       _userEmail = args['email'] 
       _userPassword = args['password'] 
       return {'Email': args['email'], 'Password': args['password']} 

      except Exception as e: 
       return {'error': str(e)} 
    api.add_resource(CreateUser, '/CreateUser') 
    if __name__ == '__main__': 
     app.run(debug=True) 

しかし、私は私のRESTクライアント上でそれを実行したとき、私は { 「電子メール」としてクライアントにJSON形式でのメールアドレスとパスワードをポスト:「[email protected]」、 「パスワード」: "ABC" }

私は { "エラー" としてRESTクライアント本体でエラーが発生します。 }

"グローバル名 'reqparse' が定義されていません"私はPython 2.7 64bitをフラスコと一緒に使用し、すべてのフラスコライブラリをインストールしました。誰かが私に修正を教えてもいいですか?

+0

あなたが輸入していません'reqparse'。 –

+0

ありがとう私はそれをしました:)私は私が投稿したものを得るはずですが、今私は電子メールとパスワードの両方のnullを取得します。あなたは何が欠けているのか教えてください –

答えて

0

パーサーをインスタンス化し、引数をリクエストハンドラの前に追加すると便利です。私はapi = Api(app)

+0

それは試しても役に立ちません。 –

+0

私はまだレスポンスボディでヌルとしてメールとパスワードを取得しています –

+0

リクエストボディではありますか? –

0

後の行に

# Parse the arguments 
    parser = reqparse.RequestParser() 
    parser.add_argument('email', type=str, help='Email address to create user') 
    parser.add_argument('password', type=str, help='Password to create user') 

を移動平均としては、あなたがreqparseインポートする必要がある、あなたの記事のコメントで述べている:

from flask_restful import Resource, Api, reqparse 

し、受信したヌルのあなたの他の問題のために、あなたはその事件に注意する必要があります。 あなたが送信する場合:{ "Email" : "[email protected]" , "Password" : "abc" }を、あなたのPythonのコードがそのようにする必要がある:

parser.add_argument('Email', type=str, help='Email address to create user') 
parser.add_argument('Password', type=str, help='Password to create user') 

(申し訳ありませんが、私は直接、私は十分な評判を持っていない、コメントには対応できません)

+0

同じものを試しましたが、電子メールとパスワードのヌルは依然として関係しています –

関連する問題