ajax html+python 웹서버 배포 질문입니다.
조회수 567회
사용파일 : run.py + templates/index.html
run.py 코드
import 패키지
app = Flask(__name__)
@app.route('/')
@app.route('/index.html')
def index():
return render_template('index.html')
@app.route('/train')
def training():
c = request.args.get('c', 0, type=float) # html 입력값
# 대충 딥러닝 모델생성 및 훈련
resultdata={'resulttrain':resulttrain,'resulttest':resulttest} # 훈련결과
print('훈련세트점수: {:.3f}'.format(resulttrain))
print('검증세트점수: {:.3f}'.format(resulttest))
return jsonify(resultdata=resultdata) #결과 html로 return
if __name__ == "__main__":
app.run()
index.html
<!DOCTYPE html> <html lang="en">
<head>
<link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<script type=text/javascript>
$(function() {
$('#training').click(function(){
$.ajax({
url: '/train',
data:{
c: $('#c').val()
},
dataType: 'JSON',
type: 'GET',
success: function(data){
$("#resulttrain").html(data.resultdata['resulttrain']);
$("#resulttest").html(data.resultdata['resulttest']);
}}); });});
</script>
</head>
<body>
<div class="container">
<div class="header">
</div>
<hr/>
<div>
<p>모델 깊이 : <input type="text" id='c' size="5" name="c">
<p><span id="resulttrain">훈련세트점수</span>
<p><span id="resulttest">검증세트점수</span>
<p><button class="btn btn-success" id="training">training</button>
</form>
</div>
</div>
</body>
</html>
질문: 위의 처럼 구성한후 cmd로 python run.py로 실행하고 localhost:5000으로 하는것 까지는 잘 동작합니다.
문제는 index.html을 웹서버에 업로드해서 실제 접속까지는 가능한데 입력을 하고 버튼을 눌러도 동작이 안됩니다.
질문요약: ajax로 버튼을 눌렀을때 run.py랑 연결하는 방법 == run.py의 코드가 동작하는 좋은 방법이 있나요?
댓글 입력