2016-08-04 7 views
1

私はチュートリアルでPythonフラスコWebアプリケーションを構築しようとしています。私はsignUpメソッドを実装する際に問題があります。 チュートリアル:私は 'サインアップ' ボタンを打ったときhttp://code.tutsplus.com/tutorials/creating-a-web-app-from-scratch-using-python-flask-and-mysql--cms-22972pythonフラスコbucketlistアプリケーション

は私が500エラーを取得する:_name =のRequest.Form [ 'inputName'] はTypeError: 'cached_property' オブジェクトは何の属性がありません 'GetItem関数を'

なぜ私は500エラーを受け取っているのか分かりません。どんな助けもありがとう。おかげで以下

は私のpythonのコードです:ここで

from flask import Flask, render_template, json, Request 

app = Flask(__name__) 

@app.route('/main') 
def main(): 
    return render_template('index.html') 


@app.route('/showSignUp') 
def showSignUp(): 
    return render_template('signup.html') 


@app.route('/signUp',methods=['POST']) 
def signUp(): 
    _name = Request.form['inputName'] 
    _email = Request.form['inputEmail'] 
    _password = Request.form['inputPassword'] 

    if _name and _email and _password: 
     return json.dumps({'html':'<span>All fields good !!</span>'}) 
    else: 
     return json.dumps({'html:':'<span>Enter the required fields</span>'}) 



if __name__ == "__main__": 
    app.run(debug=True) 

ではJavaScript Ajaxコードです:ここで

$(function() { 
    $('#btnSignUp').click(function() { 
     $.ajax({ 
      url: '/signUp', 
      data: $('form').serialize(), 
      type: 'POST', 
      success: function(response) { 
       console.log(response); 
      }, 
      error: function(error) { 
       console.log(error); 
      } 
     }); 
    }); 
}); 

signup.html

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <title>Python Flask Bucket List App</title> 

     <link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet" /> 
     <link href="http://getbootstrap.com/examples/jumbotron-narrow/jumbotron-narrow.css" rel="stylesheet" /> 
     <link href="../static/signup.css" rel="stylesheet" /> 
     <script src="../static/js/jquery-3.1.0.js"></script> 
     <script src="../static/js/signUp.js"></script> 

    </head> 

    <body> 

     <div class="container"> 
      <div class="header"> 
       <nav> 
        <ul class="nav nav-pills pulls-right"> 
         <li role="presentation"><a href="main">Home</a></li> 
         <li role="presentation"><a href="#">Sign In</a></li> 
         <li role="presentation" class="active"><a href="#">Sign Up</a></li> 
        </ul> 
       </nav> 
       <h3 class="text-muted">Python Flask App</h3> 
      </div> 

      <div class="jumbotron"> 
       <h1>Bucket List App</h1> 
       <form class="form-signin"> 
       <label for="inputName" class="sr-only">Name</label> 
       <input type="name" name="inputName" id="inputName" class="form-control" placeholder="Name" required autofocus /> 
       <label for="inputEmail" class="sr-only">Email address</label> 
       <input type="email" name="inputEmail" id="inputEmail" class="form-control" placeholder="Email address" required autofocus /> 
       <label for="inputPassword" class="sr-only">Password</label> 
       <input type="password" name="inputPassword" id="inputPassword" class="form-control" placeholder="Password" required /> 

       <button id="btnSignUp" class="btn btn-lg btn-primary btn-block" type="button">Sign up</button> 
      </form> 
      </div> 

      <footer class="footer"> 
       <p>&copy; Company 2016</p> 
      </footer> 

     </div> 
    </body> 
</html> 
+0

あなたは '>> print(type(cached_property))'を共有できますか? Flaskには素敵なデバッグインターフェイス –

+0

があります。タイプ: 'Request'への' Request'。 – davidism

+0

@dhuenecke、hi dhuenecke、私は同じチュートリアルに従っており、signUpメソッドにも問題があります。ボタンをクリックしても反応しましたが、jQueryがインストールされていないか、正しく配置されていない可能性があります。 jQueryの実装方法を教えてください。ありがとう。 – Samoth

答えて

4

である私も同じ問題に遭遇しました私は最近同じものを実装していました。

次のように、importを含むapp.pyのsignUpコードを変更します。

from flask import Flask, render_template, json, request 

def signUp(): 
    _name = request.form['inputName'] 
    _email = request.form['inputEmail'] 
    _password = request.form['inputPassword'] 

注:requestないRequest


Requestフラスコに着信要求を表すために使用するクラスであるため、このエラーが発生しなければなりません。しかし、それは要求そのものではありません。代わりに、Flaskは Requestクラスのインスタンスである現在のリクエストを request変数に格納します。

+1

編集のための@Rushyに感謝します。 –

+0

ありがとう@マールロンとルシ。要求を変更するリクエストは完全に機能しました。 – dhuenecke

関連する問題