2012-07-21 5 views
3

파이썬 파일에 폴더 목록이 있고, HTML 파일에서 목록의 내용을 반복하여 페이지의 각 폴더 이름을 표시합니다. 내가 뭘하려고 오전Flask의 HTML 파일에서 파이썬 함수 호출하기

{% for folder in folders %} 
<li><a href = {{folder}}> {{folder}}</a></li> 
{% endfor %} 

는 폴더를 클릭 할 때 그렇게,이 같은 일을 할 것입니다 만들지 만, 클릭 한 폴더 안에 있습니다. 하나의 매개 변수 (클릭 한 폴더 이름)을 사용하는 open_folder 함수가 있지만 내 문제는 HTML 파일의 매개 변수로 함수를 호출하는 방법을 모르는 것입니다. 필자가 보았던 많은 페이지 또는 자습서에는 파이썬 파일 만 있습니다. 내 주요 파일에서 나는 또한 플라스크에 새로운 오전 누군가가이 작업을 수행하는 방법에 대한 예제가 있다면 그냥 궁금

/<route>/ 

로 경로를 가지고있다. 대단히 감사하겠습니다.

+0

당신이 의미하는 것이 분명하지 않습니다. 난 당신이해야한다고 생각 폴더 이름을 소요하는보기로 POST 요청을하고있다. 다른 요청을하지 않고 'open_folder'작업을 수행하려면 Javascript로 브라우저에서 처리해야합니다. – aychedee

+0

내 open_folder 메서드는 post 메서드에서 호출되어야한다고 생각하지만 지금까지 게시 메서드를 메서드라고 부르는 것으로 알고 있습니다. 메서드는 = 이고 게시하려면 매개 변수를 가져야합니다. 나는 문제가 내가있을 수 있습니다 012 루트에있는 atend 항상 404 오류를 반환합니다, 그래서 내가 어떻게 그 사용법을 잘 알고 있다고 생각합니다. 내 explainations arent 가장 많이면 미안해 알아 내려고 노력하고있어. 여전히 새로운. 하지만 도움을 주셔서 감사합니다 – Tom

답변

2

folder은 콘텐츠를 동적으로 자체 페이지로 반환하려는 것으로,이를 수행하는 적절한 방법은 폴더를 처리하는 별도의 경로와보기를 갖는 것입니다. 다음과 같은 뭔가 :

@app.route("/folder/<folder_name>/") 
def folder(folder_name): 
    # do something with folder_name 
    pass 

그리고 다음과 같이 HTML에 당신이 그것에 연결 것

:

분명히
<a href="{% url_for('folder', folder_name=folder) %}">{{ folder }}</a> 

당신이 folder의 내용에 따라, 그에 따라 경로를 업데이트 할 싶지만 그것이 동적 인 내용에 연결하는 "Flask 방식"입니다.

+0

감사합니다! 링크가 실제로 적어도 나를 위해 일한 것입니다

대신 적어도 그게 효과가있다. –
Tom

+0

괜찮아요! 나는 Jinja' {{}}'은 값을 출력하고'{% %}'는'if' 문, 루프, 함수 호출과 같은 파이썬 논리를위한 것입니다. 아마도 {{}}의 우발적 인 사용으로 인해 두 배로 우아 해졌습니다. }}'. – JoshMock

관련 문제