Python 简单查找网页不允许使用POST方法

Python 简单查找网页不允许使用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

我有一个简单的页面,有一个数据输入字段和一个点击按钮,这将运行API来检索硬币数据

在python终端中运行代码会成功返回,但当我尝试将其添加到flask并使用该网页时,我得到了错误405方法,这篇文章不允许使用该方法

这是python/flask的主文件: 加密.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')
这是蓝图路由文件: 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'])