2012-07-18 3 views
1

다른 시스템은 XYZ_LOGIN=myname&XYZ_PASSWORD=mydata과 같은 매개 변수를 사용하여 내 서버에 요청합니다. 나는 그 시스템이나 형식을 바꿀 수 없다.필드 이름을 변경하지 않고 필드 식별자 변경

class MyForm(forms.Form): 
    XYZ_LOGIN = forms.CharField() 
    XYZ_PASSWORD = forms.CharField() 

을하지만 이것은 아주 못생긴 :

나는 이러한 양식을 사용하여 데이터를 구문 분석합니다. 이런 별명을 가진 들판을 만들 수 있습니까?

login = forms.CharField(alias='XYZ_LOGIN') 

답변

2
당신은 설정할 수 있습니다

필드의 label : 당신이 코멘트에서 말하는 것처럼

XYZ_LOGIN = forms.CharField(label='Login') 

, 이것은 단지 당신이 양식을 렌더링 할 때, 당신은 여전히 ​​사용해야합니다 "인간 친화적 인"HTML 출력한다 코드에서 cleaned_data.get('XYZ_LOGIN').

제안하는 '별칭'인수와 유사한 기능이 기본 제공되지 않습니다. 양식을 인스턴스화하거나 양식 동작을 사용자 정의하기 전에 게시 데이터를 사전 처리 할 수 ​​있습니다. 개인적으로, 나는 현재 코드의 '추함'을 고수 할 것이다.

+0

이것은 양식의 HTML 표현을위한 것입니다. 파이썬 코드에서이 필드는'form.XYZ_LOGIN'으로 접근 할 수 있습니다. 여전히보기 흉합니다. – werehuman

+0

답변을 업데이트했습니다. – Alasdair

관련 문제