Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML表单(python、flask):有一个按钮向方法提交一个唯一的参数_Python_Html_Flask - Fatal编程技术网

HTML表单(python、flask):有一个按钮向方法提交一个唯一的参数

HTML表单(python、flask):有一个按钮向方法提交一个唯一的参数,python,html,flask,Python,Html,Flask,我现在有一个很好的HTML表单,它通过一个按钮调用一个方法 我想做的是创建几个调用相同方法的新按钮,但每个按钮传递不同的参数 具体的用例是:my button立即使用get_random_album检索随机相册 我想制作一个爵士乐、古典乐和摇滚乐按钮,分别称为get_random_AlbumGene= MVE: 首先创建名称相同但值不同的按钮 完整示例 from flask import Flask, redirect, request import random app = Flask(__

我现在有一个很好的HTML表单,它通过一个按钮调用一个方法

我想做的是创建几个调用相同方法的新按钮,但每个按钮传递不同的参数

具体的用例是:my button立即使用get_random_album检索随机相册

我想制作一个爵士乐、古典乐和摇滚乐按钮,分别称为get_random_AlbumGene=

MVE:


首先创建名称相同但值不同的按钮

完整示例

from flask import Flask, redirect, request
import random

app = Flask(__name__)

@app.route("/")
def home():
    return """
    <html>
    <body>
    <h2> Spin yo records </h2>

        <form action="/query">
            <input type="submit" name="selected_genre" value="Jazz">
            <input type="submit" name="selected_genre" value="Classic">
            <input type="submit" name="selected_genre" value="Rock">
            <input type="submit" name="selected_genre" value="I'm Feeling Lucky">
        </form>
    </body>
    </html>
    """


@app.route("/query")
def link():
    allowed_values = ('Jazz', 'Classic', 'Rock')

    genre = request.args.get("selected_genre")

    if genre not in allowed_values:
        genre = random.choice(allowed_values)

    genre = genre.lower()

    url = f"https://www.google.com/search?q={genre}" 

    return redirect(url)


if __name__ == "__main__":
    app.run(debug=True,port=600)
如果您想在按钮上使用不同的文本,但仍然发送相同的值,那么您可能需要使用值隐藏,但每个按钮都需要被隐藏

或者你必须使用而不是

在中,可以使用“带所需值隐藏”或从列表中选择值。若你们需要在页面上有很多按钮,那个么你们可以创建很多表单,每个表单都有自己的按钮,并且隐藏着不同的值。稍后,您将使用隐藏输入的request.form.getname_在flask中获取该值。
@app.route("/")
def home():
    return """
    <html>
    <body>
    <h2> Spin yo records </h2>

        <form action="/query">
            <input type="submit" name="selected_genre" value="Jazz">
            <input type="submit" name="selected_genre" value="Classic">
            <input type="submit" name="selected_genre" value="Rock">
            <input type="submit" name="selected_genre" value="I'm Feeling Lucky">
        </form>
    </body>
    </html>
    """
from flask import request
import random

@app.route("/query")
def link():
    allowed_values = ('Jazz', 'Classic', 'Rock')

    genre = request.args.get("selected_genre")

    # "I'm Feeling Lucky"
    if genre not in allowed_values:
        genre = random.choice(allowed_values)

    genre = genre.lower()

    url = f"https://www.google.com/search?q={genre}" 

    return redirect(url)
from flask import Flask, redirect, request
import random

app = Flask(__name__)

@app.route("/")
def home():
    return """
    <html>
    <body>
    <h2> Spin yo records </h2>

        <form action="/query">
            <input type="submit" name="selected_genre" value="Jazz">
            <input type="submit" name="selected_genre" value="Classic">
            <input type="submit" name="selected_genre" value="Rock">
            <input type="submit" name="selected_genre" value="I'm Feeling Lucky">
        </form>
    </body>
    </html>
    """


@app.route("/query")
def link():
    allowed_values = ('Jazz', 'Classic', 'Rock')

    genre = request.args.get("selected_genre")

    if genre not in allowed_values:
        genre = random.choice(allowed_values)

    genre = genre.lower()

    url = f"https://www.google.com/search?q={genre}" 

    return redirect(url)


if __name__ == "__main__":
    app.run(debug=True,port=600)
from flask import Flask, redirect, request
import random

app = Flask(__name__)

@app.route("/")
def home():
    return """
    <html>
    <body>
    <h2> Spin yo records </h2>

        <form action="/query" method="POST">
            <input type="submit" name="selected_genre" value="Jazz">
            <input type="submit" name="selected_genre" value="Classic">
            <input type="submit" name="selected_genre" value="Rock">
            <input type="submit" name="selected_genre" value="I'm Feeling Lucky">
        </form>
    </body>
    </html>
    """

@app.route("/query", methods=['GET', 'POST'])
def link():
    allowed_values = ('Jazz', 'Classic', 'Rock')

    genre = request.form.get("selected_genre")

    if genre not in allowed_values:
        genre = random.choice(allowed_values)

    genre = genre.lower()

    url = f"https://www.google.com/search?q={genre}" 

    return redirect(url)


if __name__ == "__main__":
    app.run(debug=True, port=600)
@app.route("/")
def home():
    return """
    <html>
    <body>
    <h2> Spin yo records </h2>

        <form action="/query" method="POST">
            <input type="hidden" value="Jazz" name="selected_genre">
            <input type="submit" value="The Best Jazz Music">
        </form>

        <form action="/query" method="POST">
            <input type="hidden" value="Classic" name="selected_genre">
            <input type="submit" value="The Best Classic Music">
        </form>

        <form action="/query" method="POST">
            <input type="hidden" value="Rock" name="selected_genre">
            <input type="submit" value="The Best Rock Music">
        </form>

        <form action="/query" method="POST">
            <input type="hidden" value="random" name="selected_genre">
            <input type="submit" value="I'm Feeling Lucky">
        </form>
    </body>
    </html>
    """
@app.route("/")
def home():
    return """
    <html>
    <body>
    <h2> Spin yo records </h2>
        <form action="/query" method="POST">
            <button type="submit" name="selected_genre" value="Jazz">The Best Jazz Music</button>
            <button type="submit" name="selected_genre" value="Classic">The Best Classic Music</button>
            <button type="submit" name="selected_genre" value="Rock">The Best Rock Music</button>
            <button type="submit" name="selected_genre" value="random">I'm Feeling Lucky</button>
        </form>
    </body>
    </html>
    """