【问题标题】:How to get data from python code in flask on html page from next code如何从下一个代码的 html 页面上的烧瓶中的 python 代码获取数据
【发布时间】:2018-04-16 17:02:58
【问题描述】:

我试图通过 Flask 从 HTML 页面上的“byp”和“yp1”获取数据,但我不能。

我也想在 html 页面中打印两个打印内容。

我试图定义一个新的路由页面并使用诸如 {{ byp }} 和 {{ yp1 }} 之类的 Jinja 命令导入,但没有奏效之前...

代码 100% 运行。

谁能帮我一个提示?

    import requests, json
    import datetime
    import time

@app.route('/bpay/' + token_urlsafe(12))
def getBitcoinPrice():
    URL = 'https://www.bitstamp.net/api/ticker/'
    try:
        r = requests.get(URL)
        priceFloat = float(json.loads(r.text)['last'])
        bp = getBitcoinPrice()
        yp = 12
        byp = yp / bp
        yp1 = bp * byp
        btc = '1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX'

        return render_template('a/bpay.html', byp=byp, yp1=yp1, bp=bp)

    except requests.ConnectionError:
        print ('Error querying Bitstamp API')

所以,我正在尝试这段代码:

URL = os.popen("GET https://www.bitstamp.net/api/ticker/").read()
    for last in URL:
        r = requests.get(URL)
        pf = float(json.loads(r.text)['last'])
    bp = pf
    yp = 12
    byp = yp / bp
    yp1 = bp * byp

我收到了这个错误:

 Traceback (most recent call last):
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/flask_login/utils.py", line 228, in decorated_view
    return func(*args, **kwargs)
  File "/home/ubuntu/workspace/n1/app.py", line 1480, in btpay
    r = requests.get(URL)
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/requests/api.py", line 72, in get
    return request('get', url, params=params, **kwargs)
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/requests/sessions.py", line 612, in send
    adapter = self.get_adapter(url=request.url)
  File "/opt/pyenv/versions/3.6.0/lib/python3.6/site-packages/requests/sessions.py", line 703, in get_adapter
    raise InvalidSchema("No connection adapters were found for '%s'" % url)
requests.exceptions.InvalidSchema: No connection adapters were found for '{"high": "8160.85000000", "last": "8099.47", "timestamp": "1523975088", "bid": "8093.02", "vwap": "8062.56", "volume": "7016.85906762", "low": "7938.78000000", "ask": "8099.47", "open": 8054.68}'

【问题讨论】:

  • 你好,你能成功吗?
  • @BhushanBabar 没有用我不知道该怎么做或缺少某些东西我在互联网上发现了很多与 json 相关的材料,在我的水平上我现在不容易理解 :(。我正在寻找一种替代方法来添加价值观手册而不是让它们更新,这对我有帮助,但不是我所期望的......也许我想的比我的知识更多......

标签: python html flask jinja2 bitcoin


【解决方案1】:

过去几个月我一直在练习烧瓶。我希望这可以帮助你。因为你是 Flask 的新手,所以我试图让它变得简单易懂。

使用 render_template 将你的路由函数与 html 模板连接起来(确保 html 模板在 templates 目录中。

后端

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/test')
def test():
    text = 'Hello World'
    return render_template('test.html', text=text)

if __name__ == '__main__':
    app.jinja_env.auto_reload = True
    app.config['TEMPLATES_AUTO_RELOAD'] = True
    app.debug = True
    app.run(host='0.0.0.0', port=5000)

在 Jinja 模板中,打印来自后端的变量

{{ text }}

【讨论】:

  • 谢谢,但我确实喜欢,但它不起作用:(
  • @alex 使用您尝试过的代码更新问题。在您这样做之前,我们无法知道什么是行不通的。
  • @BhushanBabar 的想法是我正在尝试 Masud Rumir 在他的示例中所做的完全一样的工作并且不工作没有出现数据,但甚至没有错误......
  • 请检查python代码中的正确缩进。可能在我的示例代码中缩进不正确。它应该工作。
  • @alex 他的例子没有你的修改就可以工作吗?
猜你喜欢
  • 2010-11-24
  • 1970-01-01
  • 2012-06-17
  • 2021-01-01
  • 2011-01-26
  • 1970-01-01
  • 1970-01-01
  • 2014-06-03
  • 2012-08-15
相关资源
最近更新 更多