クエリー結果が、HTMLで表示できない(涙
FLASKを使用し、MYSQLのクエリー結果をwebに表示させたいと思っていますが、webにはnoneと表示されてしまい、困っています。
すでに4日間、この問題を解決するためにネットで色々調べておりますが、なかなか解決まで至れずにおります(涙
問題があるのが、FLASK側なのか、HTML側なのかの判断すらついておりません。
クエリー結果は、ターミナル上では、正常にprintできております。
クエリー結果ではなく、FLASKからhtmlに飛ぶだけならうまく実行できるようになりました。
flask
@app.route("/menyu") def select_sql(): return render_template('menyu.html', m_d = m_l)
この構文が悪いのか、
html
<p><li>{{ m_d }}</li></p>
この構文が悪いのかではないかと推察しております。
(両方の可能性が高いですが・・・)
参考までにFLASKの全文とhtmlの全文(/menyu)も添付させてもらいます
flask
#!/usr/bin/python3 # -- coding: utf-8 -- from flask import Flask,request,render_template import mysql.connector as c_data app = Flask( __name__ ) con = c_data.connect( database = 'c_data', user = 'root', password = 'mta969696' , host = 'localhost', port = '3306',) # カーソルを取得して、処理終了時には自動でカーソルをcloseする。 with con.cursor() as cursor: # SQLの実行 sql = "SELECT * FROM menyus where date between\ date_add( now(), interval -1 day ) and\ date_add( now(), interval 6 day ) " cursor.execute(sql) # SQLの実行結果を取得 for m_l in cursor.fetchall(): m_l = print(m_l) @app.route("/") def index(): return render_template('index.html') @app.route("/menyu") def select_sql(): return render_template('menyu.html', m_d = m_l) if __name__ == "__main__": app.run(host="127.0.0.1", port=8080)
html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>料理リスト</title> </head> <body> <p><li>{{ m_d }}</li></p> </body> </html>
ご教授、よろしくお願いします。
まだ回答がついていません
会員登録して回答してみよう