2016-08-12 1 views
-1

나는 app.py 및 index.html 파일을 만들었습니다. 내 문제는 제출을 클릭 할 때 POST에서 수집 한 입력으로 파이썬 스크립트를 실행하고 같은 HTML 페이지 또는 다른 HTML 페이지에 스크립트 출력을 표시하려는 것입니다. 나는 CGI와 플라스크를 사용했다. 진행 방법을 완전히 알지 못합니다. 나는 온라인으로 연구하지만, 매우 도움이되는 것을 찾을 수 없었다. 어떤 도움을 주시면 감사하겠습니다.Flask에서 python 스크립트 결과를 실행하는 방법

여기 내 코드입니다.

from flask import Flask, render_template, request, redirect 

app = Flask(__name__) 

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


@app.route("/src_code/main.py", methods = ['POST']) 
def run_app(): 
    id = request.form['id'] 
    name = request.form['name'] 
    url = request.form['url'] 

    if not id or not name or not url: 
    return render_template('index.html') 
    else: 
     #execute the python script. 

if __name__ == "__main__": 
    app.run() 

편집 : 나는 내 기능을 가져 오려면 다음 코드를 사용했다

. 마지막으로 index.html의 제출 버튼을 클릭했을 때 오류가 발생했지만,이 속성 오류가 발생하는 이유가 확실하지 않습니다.

+0

난 당신이 이미 당신이 필요로하는 모든이, 문제가 무엇을 볼 수 없습니다, 그냥 다른 사람에 반환하는 새 템플릿을 사용합니다. – polku

+0

반환을 위해 새 템플릿을 어떻게 사용할 수 있습니까? 샘플을 보여 주시겠습니까? @polku – Pythoner1234

+1

'return render_template ('newtemplate.html', data = script_output)'이미 사용했던 것처럼 다시 문제가 무엇인지 알지 못합니다. – polku

답변

1

다른 파이썬 스크립트를 실행하고 싶으므로 import 다른 스크립트를 사용할 수있는 경우 다음과 같이 호출하여 결과를 저장하면됩니다. 다른 스크립트는 값을 반환한다고 가정합니다 기능. 다른 사람이 말했듯이

from othermodule import function_to_run 
... 
# where you want to call it 
result = function_to_run() 

그럼 당신은 템플릿에 데이터로이 결과를 전달 render_template을 사용할 수 있습니다 (당신이 플라스크에 출력하고자하는 형식으로 이미있는 경우 또는 단순히 결과를 반환).

는 그 일을 하는가, 또는이가 작동하지 않을 뭔가를 실행하고자하는 스크립트입니다? 문제가 있다면 스크립트에 대해 더 자세히 알려주십시오.

+0

코드를 시도했습니다. 나는 내 수업을 수입 관리는 모듈 그러나, 이번에는 내가 가져 오기 AttributeError과 관련된 다음과 같은 오류받지 못했을이었다... 'WSGIRequestHandler'개체가 '싸다'는 – Pythoner1234

+0

을 @LindsayWard에는 속성이 없습니다 안녕하세요 귀하의 편집 D 어떻게 수입품을 가져 왔는지 보여주지 마세요. 이것을 포함시킬 수 있습니까? 어디서나 '환경'을 사용합니까? –

관련 문제