页面加载但未显示从数据库请求的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面加载但未显示从数据库请求的内容相关的知识,希望对你有一定的参考价值。

我用python,flask,mongodb和bootstrap编写了一个博客网络应用程序。在我的工作中,如果我选择一篇文章,该程序必须进入数据库,找到所选文章的相应ID,并应将文章的内容呈现给指定的html文件。这是路线代码的示例:

# Home with articles displayed
@app.route('/home', methods=['GET','POST'])
def article():

    # Create Mongodb connection
    user = mongo.db.articles
    # Execute query to fetch data
    results = user.find() 

    # Iterate the data retrieved
    if results is not None:
        articles = results
        return render_template("index.html", articles=articles)
    else:
        msg = Markup("<h3>No Articles Posted.</h3>")
        return render_template("index.html", msg=msg)


# Single Article
@app.route('/home/<id>/', methods=['GET','POST'])
def post(id):
    # Create Mongodb Connection
    user = mongo.db.articles
    # execute query
    article = user.find_one({'_id': id})

    return render_template("post.html", article=article) 

这也是HTML文件的代码示例:

{% extends 'base.html' %}

{% block title %} <title>Articles | Blog</title> {% endblock %}

{% block content %}

  <!-- Page Header -->
    <div class= "jumbotron">
        <h5>{{article.title}}</h5>
        <small>Written by Mr. Boss on {{article.date}} </small>
        <hr>
        <p class="lead">{{article.body}}</p>
      </div>


  <!-- Post Content -->

{% endblock %}

当我选择文章时页面呈现正常,但问题是它不会将信息从mongodb呈现到html文件。这是json中的mongodb数据:

{
  "_id": ObjectId("5c79d99195eded2364b03813"),
  "title":"Article One",
  "body":"This is the first article",
  "date":"2019-03-02T00:00:00.000Z"
}

拜托,我是python的初学者,如果我犯了任何错误并帮助我解决这个问题,请放轻松。谢谢。

答案

我通过以下方式解决了这个问题:1。导入from bson.objectid import ObjectId 2.改变路线:

# Single Article
@app.route('/home/<string:id>/', methods=['GET','POST'])
def post(id):
    # Create Mongo Connection
    user = mongo.db.articles

    # execute query
    article = user.find_one({"_id": ObjectId(id)})

    return render_template("post.html", article=article)

以上是关于页面加载但未显示从数据库请求的内容的主要内容,如果未能解决你的问题,请参考以下文章

片段中的请求权限不显示对话框

AdMob 原生广告加载但未展示

jqGrid怎么设置初始化页面时不加载数据(不向服务器请求数据)

一个页面从输入url到加载到内容,这个过程经历了什么

前端面试题_3.一个页面从输入URL到页面加载显示完成,这个过程发生了什么

从页面加载到数据请求,前端页面性能优化实践分享