ОБЗОР
Привет, у меня есть приложение Flask, которое работает на моем локальном хосте, но не везде на pythonany. Мое приложение в основном выполняет следующие действия:
- Пользователь заполняет HTML форму, нажимает на отправку
- Сценарий в HTML форме использует jQuery $ ajax для публикации на моем flask app on sumbit
- Flask приложение обрабатывает данные и отправляет их обратно для отображения в виде HTML
Вот некоторые вещи, которые, я думаю, могут быть неправильными мое приложение при перемещении его в pythonanywhere:
- urllib.requests может не включаться в pythonanaywhere, я знаю, что urllib включен, но я не уверен, отличается ли urllib.requests или является частью urllib
- На моем локальном хосте мой URL для $ ajax был 'http: // 127.0.0.1:5000/ebaycode/', я не смог найти никакой информации о том, на что вы должны изменить это после нескольких часов поиска поэтому я попытался «http: // mander39.pythonanywhere.com/ebaycode/», что может быть неправильным
- Я понятия не имею, что делает @ 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 ничего не показывают. Большое спасибо за помощь, она мне действительно нужна.