【发布时间】:2017-01-02 15:41:45
【问题描述】:
我的模板正在输出以下内容。它不拉入任何查询值,但拉入page loads fine 和doesnt fail,但它不显示任何values。
我在mysqlmonitor 中仔细检查了query,它提取了3 条记录。
<li><a href="http://blog.mysite.com/wordpress///"></a></li>
在templates/index.html我有:
{% for blogpost in blogposts %}
<li><a href="http://blog.mysite.com/wordpress/{{blogpost[2]}}/{{blogpost[3]}}/{{blogpost[1]}}">{{blogpost[0]}}</a></li>
{% else %}
<li>no blog posts right now...</li>
{% endfor %}
app.py 有这个:
import pymysql.cursors
app = Flask(__name__)
connection = pymysql.connect(host='localhost', user='myuser', port=3306, password='mypass', db='mydb', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
@app.route('/', methods=('GET', 'POST'))
def email():
form = EmailForm()
curs = connection.cursor()
curs.execute("SELECT post_title, post_name, YEAR(post_date) as YEAR, MONTH(post_date) as MONTH FROM mydb.wp_posts WHERE post_status='publish' ORDER BY RAND() LIMIT 3")
blogposts = curs.fetchall()
if request.method == 'POST':
return render_template('index.html', form=form, blogposts=blogposts)
if __name__ == '__main__':
app.run()
更新我认为我的for() 工作不正常,因为当我在template 中更新时,我得到的所有数据如下:
[{u'MONTH': 12, u'YEAR': 2016, u'post_name': u'data is here', u'post_title': u'data is here'},
{u'MONTH': 12, u'YEAR': 2016, u'post_name': u'data is here', u'post_title': u"data is here"}]
如何在我的 flask template 中访问这些数据?
非常感谢!
【问题讨论】:
标签: python mysql templates flask