我想這應該很簡單,但我認爲我錯過了一些東西。發佈到控制器中的URL不會觸發Flask中的render_template
簡單描述:我有一個列出特定單詞的頁面。每個單詞都有一個ID。我將這個ID傳遞給一個函數,然後將它發佈到一個URL。我試圖做的是傳遞ID,在後端查詢它,然後轉到帶查詢結果的編輯頁面。
這裏是我的代碼:
AngularJS功能
$scope.editDefinition = function (searchItem) {
var param = { id: searchItem.id };
var url = "/table-based";
$http.post(url, param).success(function (data) {
console.log(data);
});
};
瓶/ Python的路由功能
@app.route("/table-based", methods=["GET", "POST"])
def edit_definition():
if request.method == "POST":
j = json.loads(request.data)
uid = j["id"]
cdef = db.getDefinitionById(uid)
return render_template("edit.html", definition=cdef)
return render_template("edit.html")
HTML
<div ng-init="init('{{ definition |tojson|safe }}')" ng-controller="editCtrl">
<ng-include src="'/_partial_edit_form'"></ng-include>
</div>
EditCtrl
具有相關的$scope.init
函數來接收definition
。基本上,它會返回一個包含edit.html
模板的HTML的響應,但它不會重定向到該URL。
什麼給?
爲什麼要重定向到URL?您所做的只是將響應記錄到控制檯。 –