2017-06-03 84 views
0

遍布全球的人们使用Php脚本在AngularJS和Mysql数据库之间进行查询。我正在制作一个Flask应用程序,并希望使用Python进行查询,但我不知道如何。谁能帮我? 这是我试过到目前为止: Python脚本:如何编写一个python脚本来连接AngularJS和mysql数据库?

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() 

记者:从您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

很难知道你问这里。您正在使用Flask,因此您应该编写一个接受Ajax请求并查询数据库的Flask路由处理程序。 –

+0

@DanielRoseman我期待着这样的事情。 。 。 https://www.w3schools.com/angular/angular_sql.asp –

+0

我不明白什么链接与任何事情有关。正如你所说,你正在使用Flask。你大概已经知道如何编写一个Flask视图来查询数据库并将结果返回给模板。为什么要用Ajax做到这一点有什么不同? –

回答

0

返回数据。使用flask运行。叫python file.py您可以将此网址在你的角度看到你的数据在http://localhost:5000/

用途GET数据...

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()  
相关问题