首页 > 解决方案 > 烧瓶用户输入以运行 python 脚本

问题描述

我试图从用户输入构建一个 URL。所以网址总是一样的:

www.example.com/

并且来自用户的输入会将 url 构建成如下内容:

www.example.com/USERINPUT-1.jpg

我需要像这样构建它们:从 index.html 到 /generate root。我无法弄清楚......我到处移动椅子,没有运气

这是我的 run.py

from flask import Flask, jsonify, render_template, request
app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/generate', methods=['GET'])
def generate():
    prefix = request.args.get('prefix')
    urls = []
    for number in range(1, 7):
        urls.append('https://example.com/{p}-{n}.jpg'.format(p=prefix, n=number))
    return jsonify(result=urls)

这是我的 index.html :

<!doctype html>
<html lang="en">
<html>
<head>
   <title>Image Grabber v1.0</title>
</head>
<body>
<center>
<script type=text/javascript>
  $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
  $( document ).ready(function() {
    $('#download').bind('click', function() {
      $.getJSON($SCRIPT_ROOT + '/generate', {
        prefix: $('input[name="prefix"]').val()
      }, function(data) {
        $("#result").text(data.result);
      });
      return false;
    });
  });
</script><br>
 <h2>Image Grabber v1.0</h2>
<p><input type=text size=45 name=prefix>
   <span id=result></span>
<p><button type="submit" id=download>Download</button></p>
</center>
</body>
</html>

@Jatimir 帮助我解决了我的问题......并且我能够让它工作。问题解决了。

标签: pythonfileflaskinputrequest

解决方案


我解决了我的问题,这是解决方案:从用户输入构建一个 url。很抱歉让它如此混乱!

from flask import Flask, jsonify, render_template, request
app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/generate', methods=['GET'])
def generate():
    prefix = request.args.get('prefix')
    urls = []
    for number in range(1, 7):
        urls.append('https://example.com/{p}-{n}.jpg'.format(p=prefix, n=number))
    return jsonify(result=urls)

html文件:

<!doctype html>
<html lang="en">
<html>
<head>
   <title>Image Grabber v1.0</title>
</head>
<body>
<center>
<script type=text/javascript>
  $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
  $( document ).ready(function() {
    $('#download').bind('click', function() {
      $.getJSON($SCRIPT_ROOT + '/generate', {
        prefix: $('input[name="prefix"]').val()
      }, function(data) {
        $("#result").text(data.result);
      });
      return false;
    });
  });
</script><br>
 <h2>Image Grabber v1.0</h2>
<p><input type=text size=45 name=prefix>
   <span id=result></span>
<p><button type="submit" id=download>Download</button></p>
</center>
</body>
</html>

推荐阅读