2017-04-11 7 views
1

Flask 함수의 제 GET 부분에서 파이썬 3으로 작성된 아주 간단한 코드를 가지고 있습니다. 전달하려는 데이터가 표시되지 않습니다. 내 HTML 렌더링.Python Flask Jinja SQL : 템플릿에 전달되는 값이 없습니다.

@app.route("/sellselected", methods=["GET", "POST"]) 
@login_required 
def sellselected(order_num): 
    if request.method == "POST": 
     #not done, just have a redirect to index 
    else: 
     stock_to_sell = db.execute("SELECT * FROM purchases WHERE order_num = :order_num", order_num=order_num) 
     #stock_to_sell = ['fish'] 

    return render_template("sellselected.html", stock_to_sell=stock_to_sell, order_num=order_num) 

SQL 문은 아무 것도 전달하지 않는 것처럼 보입니다. HTML에서는 렌더링이 비어 있습니다. 그러나 시험으로 나는 또한 '물고기'를 사용했고, 아무 것도 없거나 비어 있습니다.

{% block main %} 
<list> 
    <ul>{{ stock_to_sell }}</ul> 
    <ul>{{ order_num }}</ul> 
</list> 
{% endblock %} 

그래서 페이지의 몸이 주문 번호를 가지고 있지만 항상 빈 stock_to_sell입니다 : 같은

신사 보인다.

+0

; 그게 너의 의도 야? '물고기'만 통과하면 어떻게됩니까? – bernie

+0

예, 진자는 for와 list로 더욱 복잡해졌지만 렌더링하려면 stock_to_sell을 얻을 수있을 때까지 단순화했습니다. '물고기'도 작동하지 않습니다. –

답변

0

귀하의 문제는 더 이상 진자와 관련이 없습니다. 경로가 잘못되었습니다. @app.route("/sellselected/<order_num>", methods=["GET", "POST"])이어야합니다.

sellselected 함수에 order_num을 전달하므로 경로에서 선언해야합니다.

+0

그건 작동하지 않았다. 나는 모든 것을 github에 둔다. 어쩌면 정보의 핵심 부분을 빠뜨릴 수 있습니다. https://github.com/jamesdylangoldstein/finance –

0

GET 권한으로 order_num 매개 변수를 전달 하시겠습니까? 코드에서 POST가 색인으로 리디렉션된다고 말하기 때문입니다.

그래서 매개 변수를 GET으로 전달합니다. 당신은 얻을 필요가 그것을 처음

current_order = request.args.get ('order_num')

귀하의 코드가 있어야한다 : 당신은 목록을 전달하는

@app.route("/sellselected", methods=["GET", "POST"]) 
@login_required 
def sellselected(order_num): 
    if request.method == "POST": 
     # not done, just have a redirect to index 
    else: 
     order_num = request.args.get('order_num') 
     stock_to_sell = db.execute("SELECT * FROM purchases WHERE order_num = :order_num", order_num=order_num) 

return render_template("sellselected.html", stock_to_sell=stock_to_sell, order_num=order_num) 
관련 문제