1

私は株式アプリケーションを作成しています。ユーザーが などの株式を入力するとMSFT、リダイレクトさ.../stock?s=MSFTれます。この部分は正常に作成されましたが、引用を解析できるように、この現在の一意の URL を取得するために Python が必要です (この場合、MSFT) が出力され、新しい変数として保存されます。

私が考えることができる最も簡単な方法は、現在の URL を取得することですが、これを行う方法が見つからないようです。を使用してself.request...いますが、これはエラーを返しました:

NameError: global name 'self' is not defined

私が遭遇した他のアイデアurllibは、特定の.request_qs()メソッドを含むフォームを使用することでしたが、これには URL をパラメーターとして渡す必要があり、在庫の変化のために毎回一意である必要があります。

私が現在持っているPythonは次のとおりです。

@app.route('/', methods=['GET', 'POST'])
def home_search():
    if request.method == 'POST':
            st = request.form['s']
            return redirect(url_for('stock')+'?s='+st)

    return render_template('stk.html') 

@app.route('/stock', methods=['GET', 'POST'])
def stock():
    #here I need to save the variable 'name' as the current URL. I can parse it later.
    url="http://finance.yahoo.com/d/quotes.csv?s="+name"&f=snl1"
    text=urllib2.urlopen(url).read()

    return render_template('stock.html')

よろしくお願いします。

4

2 に答える 2

8
  1. それrequestは(フラスコパッケージからインポートされた)ものであり、そうではありませんself.request

  2. Flask ドキュメントには、いつものように、URL の変数に関する完全なドキュメントがあります: http://flask.pocoo.org/docs/quickstart/#variable-rules

    @app.route('/user/<username>')
    def show_user_profile(username):
        # show the user profile for that user
        return 'User %s' % username
    

その場合は、Flask ドキュメントからクイックスタート全体を読む必要があります: http://flask.pocoo.org/docs/quickstart/

于 2012-10-18T18:55:22.663 に答える
1

エラーが発生した場所に関する情報を投稿していません:)そして、どこにアクセスしようとしているのかわかりませんself.requests

他のFlaskアプリを見ると、request代わりにアクセスするだけでよいようです。

これらの例を見てみましょう: https://github.com/mitsuhiko/flask/tree/master/examples

于 2012-10-18T18:55:01.957 に答える