Не могу понять, что не так с моим приложением flask при портировании с локального хоста - PullRequest
0 голосов
/ 29 февраля 2020

ОБЗОР

Привет, у меня есть приложение Flask, которое работает на моем локальном хосте, но не везде на pythonany. Мое приложение в основном выполняет следующие действия:

  1. Пользователь заполняет HTML форму, нажимает на отправку
  2. Сценарий в HTML форме использует jQuery $ ajax для публикации на моем flask app on sumbit
  3. Flask приложение обрабатывает данные и отправляет их обратно для отображения в виде HTML

Вот некоторые вещи, которые, я думаю, могут быть неправильными мое приложение при перемещении его в pythonanywhere:

  1. urllib.requests может не включаться в pythonanaywhere, я знаю, что urllib включен, но я не уверен, отличается ли urllib.requests или является частью urllib
  2. На моем локальном хосте мой URL для $ ajax был 'http: // 127.0.0.1:5000/ebaycode/', я не смог найти никакой информации о том, на что вы должны изменить это после нескольких часов поиска поэтому я попытался «http: // mander39.pythonanywhere.com/ebaycode/», что может быть неправильным
  3. Я понятия не имею, что делает @ app.route, и, возможно, это не так при переходе на pythonanywhere

HTML КОД

<script>
        $('#form').on('submit', function(e){
            #random css changes with jQuery i.e. $('.box').css( "display","none")
            #conditionals based on form data i.e. if ($('.checkbox').is(":checked"))
            e.preventDefault();
            $.ajax({
                url: 'http://mander39.pythonanywhere.com/ebaycode/',
                data: {'product': product, 'sold': sold, 'cond': cond},
                method: 'POST',
                success: function(data) {
                    #using $('#id').html to show my data output on my site
                }
            });
        });
</script>

FLASK APP

from flask import Flask, render_template, request, jsonify
from bs4 import BeautifulSoup
from urllib.request import urlopen
import re
from statistics import mean 
import numpy as np

app = Flask(__name__)

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

@app.route('/ebaycode/', methods=['POST'])
def ebaycode():
    prod = str(request.form.get('product', 0))
    sold = str(request.form.get('sold', 0))
    cond = str(request.form.get('cond', 0))
    #whole bunch of other code 
    data = {'ebaycode': ebaycode,'lengthOne': lengthOne,'maxOne': maxOne,
            'minOne': minOne,'avgOne': avgOne,'medOne': medOne, 'lengthTwo': lengthTwo,
            'maxTwo':maxTwo, 'minTwo':minTwo,'avgTwo': avgTwo,'medTwo': medTwo, 'url': tac
            }
    data = jsonify(data)
    return data

def reject_outliers(data, m = 3.):
    #method called in ebaycode()


if __name__ == '__main__':
    app.run(debug=True)

I wi sh У меня была командная строка, чтобы показать, что делает мое приложение, но bash и python cmd из pythonanywhere ничего не показывают. Большое спасибо за помощь, она мне действительно нужна.

...