2016-07-10 5 views
0

python/Flask를 사용하여 파일을 읽고 버튼을 클릭하여 표시하려고합니다. 파일을 보려면 다음과 같은 반환 함수를 사용하십시오.플라스크 html 입력 형식

return redirect(url_for('uploaded_file',filename=filename)) 

하지만 클릭하여 파일을 보려면 HTML로 구현하려고합니다. 다음과 같이 입력하십시오 :

<form><input action="redirect(url_for etc. ??)" type=submit value=viewFile> </form> 

action의 올바른 구문은 무엇입니까?
힌트를 보내 주셔서 감사합니다.

답변

1

<form>이 아닌 <input>이되어야합니다. 액션 값은 파일을 받아들이는 경로의 URL이어야합니다.

Jinja2 :

<form action="{{url_for('upload')}}" enctype="multipart/form-data"> 
    <input type="file" name="view_file"> 
    <input type="submit" value="Upload"> 
</form> 

파이썬 : 당신이 Jinja2,이 같은 것을 사용하고 가정

@app.route('/upload', methods=['POST']) 
def upload(): 
    # Handle upload and save to disk here.. 
    return redirect(url_for('uploaded_file', filename=filename)) 

@app.route('/uploads/<filename>') 
def uploaded_file(filename): 
    return send_from_directory(app.config['UPLOAD_FOLDER'], filename) 

http://flask.pocoo.org/docs/0.11/patterns/fileuploads/보기를 (당신이 이미 예에서 작업처럼 보인다 ..)

+0

. 이처럼 : 파이썬 : 이 ... 복귀는 render_template ('view.html') HTML (view.html) : <폼 작업이 = "{{(url_for (리디렉션 'view file'을 누를 때 오류가 발생합니다. ('uploaded_file', filename = filename))}} "enctype ="multipart/form-data "> 'view file' , jinja2.exceptions.UndefinedError UndefinedError : '리디렉션'이 정의되지 않았습니다. 동작 방법 파일 주소를 리디렉션하도록 작성 되었습니까? 도움을 주신 덕분에 – user2786019

0

이 코드는 파일 이름을 HTML 양식 입력에 전달하는 데 효과적입니다.

파이썬 :

... 
return render_template('view.html', cat = filename) 

HTML (view.html) : 나는 사용자가 읽을 수있는 파일을 확인할 수있는 페이지를하려고

<!doctype html> 
<form action="{{url_for('uploaded_file', filename=cat)}}" enctype="multipart/form-data"> 
<input type=submit value='view file'> 
</form>