2017-06-03 6 views
0

Web上では、AngularJSデータベースとMySQLデータベースの間でクエリを作成するためにPhpスクリプトが使用されています。私はFlaskアプリケーションを作成していますが、Pythonをクエリに使用したいのですが、どのようにしたらよいか分かりません。誰でも助けてくれますか? Pythonスクリプト:AngularJSをmysqlデータベースに接続するためのpythonスクリプトを書くにはどうしたらいいですか?

import pymysql 
connection = pymysql.connect(host='localhost', 
         user='root', 
         password='*******', 
         db='testdb', 
         charset='utf8mb4', 
         cursorclass=pymysql.cursors.DictCursor) 

cursor = connection.cursor() 
cursor.execute("SELECT * from posts") 
posts = cursor.fetchall() 

JS:あなたのpyscriptから

var application = angular.module("myApp", []); 

application.config(['$interpolateProvider', function($interpolateProvider) { 
    $interpolateProvider.startSymbol('[{'); 
    $interpolateProvider.endSymbol('}]'); 
}]); 

application.controller("postController", function($scope, $https){ 
    $https.get("dbconnect.py").then(function(response) { 
     $scope.posts = response.data.records; 
    }); 
}); 
+0

...あなたはhttp://localhost:5000/

GETデータへのあなたの角度で使用する、このURLをあなたのデータを見ることができpython file.py呼び出します。 Flaskを使用しているので、Ajaxリクエストを受け入れてデータベースに照会するFlaskルートハンドラを記述する必要があります。 –

+0

@DanielRoseman私はこのようなことを期待していました。 。 。 https://www.w3schools.com/angular/angular_sql.asp –

+0

リンクと何が関係しているのか分かりません。あなたが言ったように、あなたはFlaskを使用しています。おそらく、すでにデータベースにクエリを実行し、その結果をテンプレートに返すFlaskビューを作成する方法はすでに分かっているはずです。なぜAjaxを使ってそれを行うべきなのでしょうか? –

答えて

0

戻りデータを は、ここで私はこれまで試したものです。実行するにはflaskを使用してください。それはあなたがここに求めているかを知るのは難しい

import pymysql, json 
from flask import Flask 
app = Flask(__name__) 

def date_handler(obj): 
    return obj.isoformat() if hasattr(obj, 'isoformat') else obj 

def get_db_data(): 
    connection = pymysql.connect(host='host', 
          port=3307, 
          user='uname', 
          password='pwd', 
          db='db', 
          charset='utf8mb4', 
          cursorclass=pymysql.cursors.DictCursor) 

    cursor = connection.cursor() 
    cursor.execute("SELECT * from user") 
    posts = cursor.fetchall() 
    return json.dumps(posts, default=date_handler) 

@app.route("/") 
def hello(): 
    xml = get_db_data() 
    # make fancy operations if you want 
    return xml 

if __name__ == "__main__": 
    app.run()  
関連する問題