63733


お世話になります。  
パラメータ付きのURLを指定するとDBから情報を返すAPIを開発しています。  
・実行環境  
Centos7 64bit  
Python3.6  
virtualenv  
Flask  
環境構築済みですが、本番ではapahceで実行します。  
・開発＆接続環境  
Windows10  
Chorme  
Teratarm

今回は開発中のためデバックモードで実行しています。

app.py

[code]

    from flask import Flask, request
    app = Flask(__name__)
    
    @app.route('/query')
    def func_query():
        args1 =  request.args.get('code')
        args2 =  request.args.get('name')
        print('args1:' + args1)
        print('args2:' + args2)
        return args1 + args2
    
    if __name__ == '__main__':
       app.run(host='0.0.0.0')
    
[/code]

本来はここから追加の処理をする予定です。

python app.py

ブラウザから下記URLにアクセスすると  
<http://localhost/query?code=123?name=sample>

実行すると

コンソールでは

> args1:123?name=sample  
>  args2:None

と表示されます。  
変数に思った割当ができない状態になっています。  
request.args.getは?を区切り文字として使用できると認識していましたが、違うのでしょうか？

質問のためにプログラムを縮小しながら記載しているため、記載ミスがあるかもしれません。  
不明瞭な箇所があれば対応いたします。

以上です、よろしくお願いします。


CC BY-SA 4.0
2020-03-10T07:50:32.213
63725
2020-03-10T09:52:06.370
28931
question
python flask
Flaskの複数のクエリパラメータの割当


アクセスするURLが間違っていました。  
この場合は

[code]

    http://localhost/query?code=123&name=sample
    
[/code]

とすれば目的の割当をすることができました。


CC BY-SA 4.0
2020-03-10T09:52:06.370
63733
2020-03-10T09:52:06.370
28931
63725
answer