Python: Разделение интерфейса и бэкенда для формы отправки — 500 Внутренних ошибок сервера

#python #flask #heroku

Вопрос:

У меня есть приложение Flask, работающее на Heroku, которое собирает и обрабатывает отправленные формы. Проблема в том, что весь интерфейс формы (поля и все остальное) должен отображаться на самом Heroku, он отделен от моего основного веб-сайта. Структура примерно такая: сценарий колбы:

 def create_app():
    app = Flask(__name__)   
    assets._named_bundles = {}
    register_extensions(app)
    @app.route('/success')
    def success():
      # replace this with a query from whatever database you're using
      # access the result in the tempalte, for example {{ result.name }}
      return render_template('success.html')
      
    @app.route("/", methods =["GET", "POST"])
    def index():
       
        uid = uuid.uuid4().hex[:10] 
        if request.method == "POST":
           #  Get User Details
            authorname = request.form["name"]
            email = request.form["email"] 
            # And so on
        return render_template("index.html", unique_id = uid) # print(uploadmedia.filename)
 

и форма выглядит так:

  <form id="form" action="{{ url_for("index")}}" method="post" enctype="multipart/form-data">
               # Form content follows
 

Итак, прямо сейчас это показано на index.html том, что визуализируется с помощью скрипта Python. Проблема в том , что если мой веб-сайт находится на www.xyz.com , пользователь должен перейти на www.submission-form.herokuapp.com него, чтобы отправить заявку. Возможно ли, чтобы на Heroku был запущен только скрипт python для обработки отправлений, но чтобы на моем веб-сайте был интерфейс формы, чтобы он отправлял запрос на публикацию в приложение Heroku?

Я пробовал что — то в этом роде:

 <form id="form" action="https://submission-form.herokuapp.com/" method="post" enctype="multipart/form-data">
 

Где я ссылаюсь на URL-адрес приложения. Поскольку в скрипте он ищет запрос на публикацию для индексирования страницы, я думал, что это сработает. Это приводит меня к следующей ошибке:

 500 Internal Server Error
 

Как мне «отделить» интерфейс формы и логику обработки, чтобы их можно было размещать независимо друг от друга?

Если это поможет, код для моего скрипта на Python находится здесь, а интерфейс формы-здесь.