tktktk0711
tktktk0711

Reputation: 1694

python3 flask: how to display the json result in html

Now I want to send the json data to html, I just display the dictionary data(json), How to display the value of dictionary in the html. The python code is:

@app.route('/upload', methods=['GET', 'POST'])
def upload():
    if request.method == 'POST':
        img_file = request.files['img_file']
        if img_file and allowed_file(img_file.filename):
            filename = secure_filename(img_file.filename)
            img_file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            raw_img_url = './static/asset/uploads/' + filename
            result_img_url = './static/asset/output/Line/' + filename

            ratio = check_banner(filename)
            result_dict = {'result': ratio}

            return  render_template("upload.html", result_img_url=result_img_url, result=json.dumps(result_dict))
        else:
            return ''' ok</p> '''
    else:
        return redirect(url_for('upload'))

The html code:

{% extends "base.html" %}
{% block content %}

<form method="post" action="/upload" enctype="multipart/form-data">
  <input type="file" id="img_file" name="img_file" class="col-sm-4">
  <input type="submit" value="check" class="btn">
</form>

<p>
{% if result_img_url %}
    <img src="{{ result_img_url }}" width='400' height='350'>
{% endif %}
</p>

<ul>

<li>{{result}}</li>

</ul>


{% endblock %}

But the result html is, but I just want to show the value of result :

result html

Upvotes: 0

Views: 94

Answers (1)

arshovon
arshovon

Reputation: 13651

If you want to pass only one parameter in result, you may change result_dict = {'result': ratio} to result = ratio.

It will show only the result in the page:

show only value

Upvotes: 1

Related Questions