2014-12-13 3 views

답변

2

실제로는 아닙니다. 그것들은 별도의 작업을 수행하므로 각각의 명령문이 고유 한 행에 있어야합니다. 자신이 반복적으로이 일을 찾을 경우 이러한 작업을 수행 할 때마다 다음

def setUserData(user, form): 
    user.name = form.name.data 
    user.username = form.username.data 
    user.password = form.password.data 
    user.email = form.email.data 

을 원한다면, 당신은 그냥 말할 수있는, 기능에 포장 할 수

>>> setUserData(user, form) 
+0

잠재적으로 필드 이름 목록을 일반화하고 매핑 할 수 있습니까? 그러나 그것은 이해를 돕기 위해 효율성을 희생합니다. – Logan

4
for el in ('name', 'username', 'password', 'email'): 
    setattr(user, el, getattr(form, el).data) 

어쨌든 파이썬 zen에 따라 '단순한 것이 복잡한 것보다 낫다', 코드에 아무런 문제가 보이지 않는다.

+0

들으세요 ... @Veedrac 완전히 동의합니다 .... – sax

관련 문제