HTML-кнопки в той же форме не работают правильно - PullRequest
0 голосов
/ 21 июня 2019

У меня есть следующий HTML-код:

<html lang="en">

    <h1>Interconnector Schedules</h1>


<form class="form-inline" method="POST" action="/submit">
  <div class="form-group">
    <div class="input-group">

        {% if files %}
        <select name="Schedules" size="6">
        {% for file in files %}
            <option value="{{file}}" SELECTED>{{ file }}</option>
        {% endfor %}
        {% endif %}
        </select>
    </div>
    <button type="submit" class="btn btn-default" formaction="{{ 
url_for('load_file') }}">Load Schedule</button>
    <button type="submit" class="btn btn-default" formaction="{{ 
url_for('del_file') }}">Delete Schedule</button>
  </div>
</form>

</html>

Проблема, с которой я столкнулся, заключается в том, что обе кнопки запускают метод load_file из моего скрипта Python, что хорошо для первой кнопки, но я не могу получитьвторой вызов функции del_file в Python.

Может кто-нибудь помочь, пожалуйста?

Python Code - server.py содержит определения URL

def create_app():
    app = Flask(__name__)


    app.add_url_rule("/", view_func=views.home_page)
    app.add_url_rule("/Interconnector_Schedules", 
view_func=views.schedule_page)
    app.add_url_rule("/Interconnector_Schedules", methods=['GET', 'POST'], 
view_func=views.load_file)
    app.add_url_rule("/Interconnector_Schedules", methods=['GET', 'POST'], 
view_func=views.del_file)

    return app


if __name__ == "__main__":
    app = create_app()
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

Python Code: views.py содержит функции для использования на HTML-страницах

def schedule_page():
    files = os.listdir(abs_path)
    return render_template("schedules.html", files=sorted(files))

def load_file():
    filename = request.form.get('Schedules')

    if filename.startswith('RESPONSE'):
        shutil.copy(abs_path + filename, temp + 'RESPONSE.csv')
        shutil.move(temp + 'RESPONSE.csv', m + 'RESPONSE.csv')
        select = (filename + ' file has been loaded successfully')

    elif 'EMSRP' in filename:
        shutil.copy(abs_path + filename, temp + filename[:-7])
        shutil.move(temp + filename[:-7], e + filename[:-7])
        select = (filename + ' file has been loaded successfully')

    else:

        select = filename + ' file is not a schedule file, please return to 
the Interconnector Schedules page and select an appropriate schedule file.'

    return render_template("return.html", message = select)

def del_file():
    filename = request.form.get('Schedules')
    os.remove(abs_path + filename)
    select = filename + ' file has been deleted.'

    return render_template("return.html", message = select)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...