Python 简单查找网页不允许使用POST方法
我有一个简单的页面,有一个数据输入字段和一个点击按钮,这将运行API来检索硬币数据 在python终端中运行代码会成功返回,但当我尝试将其添加到flask并使用该网页时,我得到了错误405方法,这篇文章不允许使用该方法 这是python/flask的主文件: 加密.pyPython 简单查找网页不允许使用POST方法,python,flask,Python,Flask,我有一个简单的页面,有一个数据输入字段和一个点击按钮,这将运行API来检索硬币数据 在python终端中运行代码会成功返回,但当我尝试将其添加到flask并使用该网页时,我得到了错误405方法,这篇文章不允许使用该方法 这是python/flask的主文件: 加密.py # template libraries from flask import render_template,url_for,flash,request,redirect,Blueprint # Coingecko API l
# template libraries
from flask import render_template,url_for,flash,request,redirect,Blueprint
# Coingecko API library
from pycoingecko import CoinGeckoAPI
crypto_simulator = Blueprint('crypto_simulator',__name__)
@crypto_simulator.route('/crypto_simulator', methods=['GET','POST'])
@login_required
def crypto_insert():
if request.form.get("ident") == "formCrypto":
print('Hello')
cg = CoinGeckoAPI()
#crypto_token = request.form.get('crypto_name_html', '')
crypto_token = 'bitcoin'
crypto_currency = 'usd'
response = cg.get_price(ids=crypto_token,
vs_currencies='usd',
include_market_cap='true',
include_24hr_vol='true',
include_24hr_change='true',
include_last_updated_at='true')
crypto_result = response.get(crypto_token,'')
print(crypto_result[crypto_currency])
return render_template('crypto_simulator.html',
formCryptoSimulation=form,
crypto_token=crypto_token,
crypto_currency=crypto_currency,
crypto_result=crypto_result
)
# crypto section
@core.route('/crypto_simulator')
def crypto_simulator():
return render_template('crypto_simulator.html')
这是蓝图路由文件:
core.py
# template libraries
from flask import render_template,url_for,flash,request,redirect,Blueprint
# Coingecko API library
from pycoingecko import CoinGeckoAPI
crypto_simulator = Blueprint('crypto_simulator',__name__)
@crypto_simulator.route('/crypto_simulator', methods=['GET','POST'])
@login_required
def crypto_insert():
if request.form.get("ident") == "formCrypto":
print('Hello')
cg = CoinGeckoAPI()
#crypto_token = request.form.get('crypto_name_html', '')
crypto_token = 'bitcoin'
crypto_currency = 'usd'
response = cg.get_price(ids=crypto_token,
vs_currencies='usd',
include_market_cap='true',
include_24hr_vol='true',
include_24hr_change='true',
include_last_updated_at='true')
crypto_result = response.get(crypto_token,'')
print(crypto_result[crypto_currency])
return render_template('crypto_simulator.html',
formCryptoSimulation=form,
crypto_token=crypto_token,
crypto_currency=crypto_currency,
crypto_result=crypto_result
)
# crypto section
@core.route('/crypto_simulator')
def crypto_simulator():
return render_template('crypto_simulator.html')
这是烧瓶/引导前端:
crypto_simulator.html
{% extends "base.html" %}
{% block content %}
<!-- Simulation Code Start -->
<div class="forms">
<div class="formCrypto">
<form method="post" action="{{ url_for('core.crypto_simulator') }}">
<div class="container">
<div class="row g-3">
<div class="col-sm-3">
<label class="form-label"><b>Crypto Name:</b></label>
<input type="text" class="form-control" name="crypto_name_html" placeholder="Enter Crypto Name" required>
</div>
</div>
</div>
<br>
<div class="d-grid gap-2 d-md-flex justify-content-md-start">
<button id="btn" type="submit" class="btn btn-info">Check Token!</button>
</div>
<input type=hidden name="ident" value="formCrypto">
</form>
<br>
<p>Token: <b>{{crypto_token}}</b>
<p>Price: <b>{{crypto_result}}</b>
</div>
</div>
{% endblock %}
{%extends“base.html”%}
{%block content%}
加密名称:
检查令牌!
令牌:{{crypto_-Token}}
价格:{{crypto_result}}
{%endblock%}
我检查了拼写错误的行和任何相关的内容,但仍然坚持如何修复…您的表单有以下内容:
<form method="post" action="{{ url_for('core.crypto_simulator') }}">
请注意,表单执行POST请求,因此在逻辑上必须对调用的函数启用POST方法,如下所示:
@core.route('/crypto_simulator', methods=['GET','POST'])