FormPump

소프트웨어 스크린 샷:
FormPump
소프트웨어 정보:
버전: 0.1.7
업로드 날짜: 20 Feb 15
개발자: Dave Mankoff
라이센스: 무료
인기: 5

Rating: nan/5 (Total Votes: 0)

FormPump는 깨끗하게 HTML 양식을 기입 할 수 있도록, 인기있는 템플릿 엔진과 통합 파이썬 도구입니다.
FormPump 작업하기 HTML 양식 훨씬 쉽게하기 위해 작성된 파이썬 템플릿 엔진 확장의 모음입니다. 그것은 바로, 당신의 입력에 값을 작성하여 입력에 라벨을 적용하고 빠른 방법으로 오류 메시지를 표시와 관련된 문제를 다룹니다. 그것은 기존의 코드에 적응 빠르고 직관적이고 자연적인 방법으로 양식 요소를 생성 템플릿에 태그 / 함수의 집합을 도입하여이 작업을 수행합니다.
현재, FormPump는 Jinja2을 지원합니다.
초급 [Jinja2 예
(이 README에 표시된 예는 Jinja2에 표시됩니다. 다른 템플릿 언어가 유사한 사용을해야합니다.)
>>> formpump 수입 JinjaPump에서
>>> jinja2 가져 오기 환경에서
>>> ENV = 환경 (확장 = [JinjaPump])
>>> TPL = env.from_string ( '' '
... {%의 형태로 "예"클래스 = "간단한 형태"%}
{%의 ENDLABEL의 %} ... {% 라벨 'INP는'} 값을 입력
... {% 텍스트 "INP"%}
... {%의 endform %}
... '' ')
>>> 인쇄 tpl.render ()
<양식 액션 = ""클래스 = "간단한 형태"방법 = "POST">
; & NBSP 값 입력 <= "6GiCLEkUToekNy8xuN8AnT2esddU8MG8"레이블> :
& NBSP; <입력 유형 = "텍스트"이름 = "INP"값 = ""ID = "6GiCLEkUToekNy8xuN8AnT2esddU8MG8"/>

& NBSP;>>> 인쇄 tpl.render (form_vars = { '예'{ 'INP'123}})
<양식 액션 = ""클래스 = "간단한 형태"방법 = "POST">
; & NBSP 값 입력 <= "pnBP2IoFmfExTQdDZe44GKsFN6wrVOPu"레이블> :
& NBSP; <입력 유형 = "텍스트"이름 = "INP"값 = ""ID = "pnBP2IoFmfExTQdDZe44GKsFN6wrVOPu"/>

위의 예에서 우리는 간단한 템플릿 객체가 하나의 형태를 포함하는 생성되는 참조하십시오. 인수없이 렌더링 할 때, 단순히 채워없이 정보와 함께 양식을 인쇄합니다. 특별한 "form_vars는"DICT가 제공 될 때, 그것은 그것을 생성으로이 양식에 찾을 수있는 모든 값을 채 웁니다.
또한 설정 한 긴, 추악한 ID 속성을 알 수 있습니다. FormPump가 입력 된 라벨을 연결할 수 있도록 이러한이 필요합니다; 잘 지내 FormPump는 그들을한다. 당신은 단순히 자신의 ID를 제공하고 요소의 특성 그들에게 자신을 무시 무료입니다. FormPump 자동으로 템플릿의 라벨 및 입력을 추적하고 지능적으로 서로와 연결하려고하지만 입력이없는 유일한 아이디의 지정 및 레이블이 지정된 것에 대한 필요가 없습니다.
양식에 작성
FormPump은 지정된 템플릿 변수에 입력 값을보고 형태로 채 웁니다. 이 변수 form_vars 기본값하지만 확장자의 values​​_dict_name 속성을 설정하여 구성 할 수 있습니다 (: env.values​​_dict_name Jinja2를 들어, 환경에이 설정).
form_vars는 사전의 사전입니다. 최상위 레벨 키 형태 컨텍스트 식별자, 이하에서보다 상세하게 설명했다. 각 형태의 컨텍스트 FormPump 양식의 값을 조회하는 데 사용하는 키 - 값 쌍의 단순한 집합입니다 다른 사전을 의미한다. 키 입력 이름을 참조하십시오. 값은 유니 코드로 변환, 입력 * 값의 속성이 될 수 있습니다.
* 참고 : 값이 미리 정해진 라디오 버튼 같은 입력의 경우, FormPump이있는 경우, 미리 선택하는 라디오 버튼을 결정하기 위해 form_vars 값을 사용합니다.
양식 컨텍스트의
FormPump는 템플릿에 하나 이상의 형태를 가질 수 있습니다. 각각의 형태는 중복 입력 이름을 가질 수 있습니다. 양식은 FormPump 양식 컨텍스트 부르는 의해 명확화하고 있습니다. 위의 예는 "예"로 설정 양식 컨텍스트를 보여줍니다 - 그것은 양식 키워드 다음에 바로 문자열입니다. 문자열은 상수 문자열이 아닌 변수 나 다른 동적 표현, (아래 적용이 주위에 방법이) 있어야합니다.
간단한 예를 들어 자신의 사용을 명확히해야합니다 :
& NBSP;>>> TPL = env.from_string ( '' '
... {% 양식 ""%}
... {% 텍스트 "INP"%}
... {%의 endform %}
... {% 양식 "B"%}
... {% 텍스트 "INP"%}
... {%의 endform %}
... '' ')
& NBSP;>>> 인쇄 tpl.render (form_vars = { ''{ 'INP': 'A'}, 'B': { 'INP': 'B'}})
<양식 액션 = ""방법 = "POST">
& NBSP; <입력 유형 = "텍스트"이름 = "INP"값 = "A"ID = "TCpYQKe8Dsx3jvRLqUCKRtUfsDGmDIxu"/>

<양식 액션 = ""방법 = "POST">
& NBSP; <입력 유형 = "텍스트"이름 = "INP"값 = "B"ID = "8qXe3PUDgmDPAD3SOdQp6xEq3dYokLyU"/>

양식 컨텍스트는 실제로 이중 목적을 제공합니다. 한 페이지에 여러 HTML 양식을 갖는 일반적인 장애물은 두 형태가 같은 action 속성이있는 경우 제출 된 양식을 결정하기 어려울 수있다. 양식 컨텍스트가 도움이 될 수 있습니다.
지금까지와 같이 기본 설정으로, 이들은 출력에 직접적인 영향을 미치지 않는다. 확장자에 form_name_key 속성을 설정하는 경우, FormPump 자동 (환경에서이 설정 Jinja2에 대한)의 이름과 형식 컨텍스트 값을 포함하는 숨겨진 입력을 삽입합니다.
& NBSP;>>> env.form_name_key = '__'
& NBSP;>>> TPL = env.from_string ( '' '
... {%의 형태로 "예"%}
... {%의 endform %}
... '' ')
& NBSP;>>> 인쇄 tpl.render ()
<양식 액션 = ""방법 = "POST"> <입력 유형 = "숨겨진"이름 = "__"값 = "예"/>

제출 된 값은 서버에 쉽게 제출 형식을 식별하는 데 사용될 수있다.
그러나,이 기능을 사용하면 한 번 더 합병증을 제공합니다! 우리는 하나의 형태가 한 페이지에 여러 번 반복해야하고 싶은 말은. 양식의 각 반복, 우리는 미리 채워져있는 변수를 변경하고 싶습니다. 예를 들어, 당신은 회사에있는 사람들의 목록을 가지고 말을하고, 편집하고 각 하나의 전화 번호에 대한 업데이트를 제출할 수 있어야합니다. 신청서를 작성하면 따라서 서버에 다시 제출 한 동일는 FormName하지만 _different 양식 컨텍스트를 할 수 있습니다. 당신이 FormPump이 즉시에서 값을 조회 컨텍스트를 변경할 수 있습니다 form_ctx 기능을 입력합니다. form_ctx 기능 또한 표준 양식 기능을하지 않는 형태로 동적 콘텍스트 이름을 할당 할 수 있습니다 :
& NBSP;>>> TPL = env.from_string ( '' '
...


    ... {사람들 %의 사람 %}
    ... <리>
    ... {% 양식 "사람"%}
    ... {% form_ctx "사람. % d 개"%의 사람 [ 'ID'] %}
    ... {% 숨겨진 "ID"%}
    ... {% 라벨 "전화"%} {{사람 [ '이름']}} {% ENDLABEL의 %}
    ... {% 텍스트 "전화"%}
    ... {%의 endform %}
    ...
    ... {%의 ENDFOR %}
    ...

... '' ')
& NBSP;>>> = [사람들 { 'ID': 1, '이름': '빌 B.', '전화': '555-123-4567'}
... { 'ID'2, '이름': '크리스 C.', '전화': '555-7654-321'}]
& NBSP;>>> 인쇄 tpl.render (사람 = 사람들,
... form_vars = DICT ([( '사람. % D'% 인 [ 'ID'], 사람 사람 사람)]))

    & NBSP;

  • & NBSP; <양식 액션 = ""방법 = "POST"> <입력 유형 = "숨겨진"이름 = "__"값 = "사람"/>
    & NBSP; <입력 TYPE = "숨겨진"NAME = "ID"값 = "1"ID = "SnX73O3VCSqGdKKfk14UL5W2riTZwuVq"/>
    & NBSP; <= "weiOPnfowyRnF2tKTM9dGCVTUjmS7NZM"레이블> 빌 B.
    & NBSP; <입력 유형 = "텍스트"이름 = "전화"값 = "555-123-4567"ID = "weiOPnfowyRnF2tKTM9dGCVTUjmS7NZM"/>
    & NBSP;
    & NBSP;
    & NBSP;

  • & NBSP; <양식 액션 = ""방법 = "POST"> <입력 유형 = "숨겨진"이름 = "__"값 = "사람"/>
    & NBSP; <입력 유형 = "숨겨진"이름 = "아이디"값 = "2"ID = "TXyn6Vos37ixMPsNBsu8G10n9NlZrnlV"/>
    & NBSP; <= "2EKjdwWOY1GdtCVK20dtZYAqBSs4Bo9i"레이블> 크리스 C.
    & NBSP; <입력 유형 = "텍스트"이름 = "전화"값 = "555-7654-321"ID = "2EKjdwWOY1GdtCVK20dtZYAqBSs4Bo9i"/>
    & NBSP;
    & NBSP;

위에서 보면, 같은 형태의 이름으로 두 가지 형태를 모두 볼 수 있지만, 동적 form_ctx 덕분에 충전 값이 다른 것입니다. form_ctx 기능은 들어오는 모든 입력에 영향을 미칩니다. 당신이 원한다면 당신은 각각 하나의 이전을 사전 empting, 형태로 여러 form_ctx 년대를 지정할 수 있습니다. 그의 문체로 혼동하게 할 수 있다는 사실에주의하십시오.
양식 오류
폼의 오차가 훨씬 form_vars처럼 작동한다. 당신은 당신이 인치에 해당하는 값을 찾을 수없는 오류를 넣어주고 싶어 오류가 가야 위치를 표시 한 다음 하나를 포함하는 사전 및 모든 오류 메시지의 중첩 된 사전으로 form_error 지정 템플릿에 오류 기능을 사용 form_error 조회는 최종 출력에서​​ 제외됩니다.
>>> TPL = env.from_string ( '' '
... {%의 형태로 "예"%}
... {% 오류 "field_A"%}
... {% 텍스트 "field_A"%}
... {% 오류 "field_B"%}
... {% 텍스트 "field_B"%}
... {%의 endform %}
... '' ')
>>> 인쇄 tpl.render (form_vars = { "예": { "field_A": "발", "field_B": "발 B"}}
... form_errors의 = { "예": { "field_B": "오류 B"}})
<양식 액션 = ""방법 = "POST">
& NBSP; <입력 유형 = "텍스트"이름 = "field_A"값 = "발"ID = "XkWRXAE0w18j0N6c1mHmtEsSCMPJZWRn"/>
& NBSP;
오류 B

& NBSP; <입력 클래스 = "오류"유형 = "텍스트"이름 = "field_B"값 = "발 B"ID = "rP5RGqTnitBwA3oP8BZNcQ9oz3pFp0BC"/>

참고 또한 오류를 찾을 수있는 입력은 그들에 추가 된 "오류"CSS 클래스가됩니다.
기본적으로 오류 메시지가 위 & mdash 같은 출력; 클래스 "오류 메시지"와 사업부에. {% 오류 렌더러 = "사용자 정의"%} : 당신은 error_renderers 사전에 기능을 할당 한 다음 템플릿의 렌더링 특성을 지정하여 자신의 오류 메시지가 스타일을 지정할 수 있습니다. 기본적으로 모든 오류는 무시할 무료 "기본"렌더러를 사용하여

요구 사항 : 있습니다.

파이썬

개발자의 기타 소프트웨어 Dave Mankoff

htmlmin
htmlmin

12 May 15

plocal
plocal

11 May 15

코멘트 FormPump

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!