2015-10-18 426 views
-1

如果直接傳入字符串,我可以訪問request.form上的值。但是,如果將字符串分配給變量並嘗試使用該變量,則會失敗。爲什麼下面的第二個打印聲明不起作用?將變量傳遞給request.form.get失敗,直接傳遞字符串

@app.route("/test", methods=['GET', 'POST']) 
def test(): 
    if request.method == 'POST': 
     # this works fine 
     print(request.form.get('lastname')) 
     # this doesn't -- why? 
     somevar = '\'lastname\'' 
     print(request.form.get(somevar)) 
     return "<p> check console </p>" 
    else: 
     return render_template('test.html') 
<form method="post"> 
    <input type="text" name="lastname"> 
    <button type="submit" >Submit</button> 
</form> 
+0

關鍵是'lastname'。你通過了'姓氏'。請注意,第二個字符串包含單引號,這不等同。 '「lastname」!=「'lastname'」' – davidism

+0

謝謝,我以爲關鍵是'姓'而不是姓。 – theciscodisco

回答

1

我不明白,爲什麼你認爲你需要加引號的。您沒有:

somevar = 'lastname' 
print(request.form.get(somevar))