2011-03-11 2 views
1

Flask를 사용하여 내 회사의 내부 앱용 웹 서비스를 작성하고 있습니다. 많은 웹 서비스 URI가 HTML 부분을 반환하고 HTML 템플릿 문자열을 저장할 수있는 확실한 방법을 찾으려고합니다. 템플리트 문자열을 별도의 파일에 저장하고 싶지는 않습니다. 일반적으로 몇 줄에 불과하기 때문에 각 행에 3 개의 줄이있는 20 개의 템플리트 파일을 갖고 싶지 않기 때문입니다. 함수의 문서화 문자열에 함수의 html 템플릿 문자열을 정의하는 것에 대해 생각하고있었습니다. 다중 목적을 달성하는 것처럼 느껴졌습니다. 그것은 기본적으로 "이것이 내가 출력하는 것"이라고 말하는 문서화 역할을 할뿐만 아니라 3 줄짜리 템플릿 문자열을 별도의 파일에 저장하지 않아도됩니다. 내가 말하는 바는 다음과 같습니다.docstrings에 html 템플릿을 저장 하시겠습니까?

@app.route('/path/to/my/resource/<int:_id>') 
def some_resource(_id): 
    """ 
    <select id="resource-{{ resource.id }}" class="resource"> 
     {% for choice in choices %} 
     <option id="choice-{{ choice.id }}" value="{{ choice.id }}"> 
      {{ choice.text }} 
     </option> 
     {% endfor %} 
    </select> 
    """ 

    # retrieving resource, etc... 

    return render_template_string(some_resource.__doc__, **kwargs) 

나는 이것이 유지의 악몽이 될 수 있는지, 어떤 생각이 들지 모르겠다.

답변

4

나는 그것이 나쁜 계획이라고 생각합니다.

문서 문자열은 문서 용이며 템플릿은 설명서가 아닙니다. 문서는 그 기능이 무엇을 위해 사용되고 있는지를 설명하고있다. HTML 템플리트는이를 대체하기에는 좋지 않습니다.

여러 줄의 문자열을 사용하여 템플릿을 보관할 수 있습니다. 아마도 좋은 생각입니다. 그들에게 문서화를 시켜서 아무것도 얻지 못합니다.

+2

나쁜 계획. 'template = "" "