편집 기록

편집 기록
  • 프로필 엽토군님의 편집
    날짜2020.05.26

    ajax html+python 웹서버 배포 질문입니다.


    사용파일 : 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의 코드가 동작하는 좋은 방법이 있나요?

  • 프로필 공부하면 화질높아짐님의 편집
    날짜2020.05.26

    ajax html+python 웹서버 배포 질문입니다.


    사용파일 : 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>





    $(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']);
    }}); });});








    모델 깊이 :
    훈련세트점수
    검증세트점수
    training





    질문: 위의 처럼 구성한후 cmd로 python run.py로 실행하고 localhost:5000으로 하는것 까지는 잘 동작합니다. 문제는 index.html을 웹서버에 업로드해서 실제 접속까지는 가능한데 입력을 하고 버튼을 눌러도 동작이 안됩니다.

    질문요약: ajax로 버튼을 눌렀을때 run.py랑 연결하는 방법 == run.py의 코드가 동작하는 좋은 방법이 있나요?

    질문을 아무리 수정해도 마크다운형식으로 표시가 안되네요 ..