자세한 설명은 https://wikidocs.net/22 에서 찾으실 수 있습니다.


for문은 프로그래밍에서 매우 자주 쓰이는 문법입니다. 반복이 조건에 맞춰 이뤄지기 때문에 자주 쓰일 수 밖에 없습니다. 이번엔 for 문을 알아보도록 하겠습니다.


1. for문 기본

파이썬에서 for문은 기본적으로 이런 형태를 갖습니다.

for something in some_list_tuple_wordarray:
    go something
    some method()
cs


in 이후의 리스트, 튜플, 문자열이 for문의 내용을 반복할 횟수를 결정합니다. 만약 리스트의 요소가 30개라면 30번 for문을 반복하게 되는 것입니다. 


2. django에서 응용

django 에서 for 문은 어떻게 사용될지 알아보겠습니다.

제가 만약 사용되면 안되는 password의 리스트를 갖고 있다고 해보겠습니다.


BAN_PASSWORD = [
    'password''123456''1234567''12345678''123456789''1234567890''012345''0123456',
    '01234567''012345678''0123456789''hello''111111''aaaaaa'
]
cs


이렇게 지정되어선 안되는 password 리스트를 만들었습니다. 그 후 request로 입력받은 password 중 무언가가 이와 일치한다면 금지시킬 것입니다. 그러면 다시 render를 return 하도록 하겠습니다.


파이썬의 유용한 도구인 리스트와 for문을 결합한 형태를 사용하겠습니다. 이 방법은 리스트 내포라고 불립니다.


[what_you_want_to_do for i in some_list_tuple_wordarray if condition]
cs


리스트 내포는 for문을 통해 나온 결과를 즉시 리스트 형태로 구성합니다.

django 에서 써 보겠습니다.


match = [pswd for pswd in BAN_PASSWORD if pswd in password]
if match is True:
clue = {'message': 'it's banned password'}
return render(request, 'create.html', {'clue': clue})
cs


이렇게 하시면 됩니다. 그러면 만약 비밀번호가 위에 있는 목록에 부합하면 다시 render하여 return하게 됩니다.

위에서 clue는 create.html 템플릿에서 사용하기 위해 임의로 지정한 값입니다.

+ Recent posts