임의의 코드를 생성
views.py
먼저 베개를 설치 베개 블록 pip3을 다운로드해야
에서 PIL 가져 오기 이미지, ImageDraw, ImageFont #의 수입 베개 블록 '' ' 이미지 : 이미지가 생성 이미지에 해당하는 브러쉬 뭔가를 쓰기 : ImageDraw는 ImageFont : 제어 글꼴 스타일을 ' '' 에서 IO 가져 오기 BytesIO, StringIO '' ' IO 인 메모리 관리자 모듈 바이너리 형식으로 데이터를 저장하는 데 도움이 될 수 있습니다 BytesIO StringIO은 형식 문자열에 데이터를 저장하는 데 도움이 될 수 있습니다 '' ' 가져 오기 임의 DEF의 : get_random () #을 임의의 숫자 (255, 255, 255)를 사용하여 같은 색상을 얻기 위해 돌아 임의합니다. randint (0255), random.randint (0255 ), random.randint (0255)
사진 옆에는 임의 인증 코드를 생성
DEF GET_CODE (요청) img_obj = Image.new ( ' RGB ' , (360,35는 ) get_random는 ()) #는 상이한 컬러 이미지, 컬러 이미지 포맷의 다수의 임의의 생성 수 2. 1. 이미지 크기 (폭, 높이) 3. 색상은 임의로 예를 들어, (20,30,42) 수를 생성 img_draw = ImageDraw.Draw (영상) #는 브러시의 픽처의 기입 생성 img_font ImageFont.truetype = ( ' 정적 / 폰트 / 111.ttf를 ' , 30) #은 글꼴 크기 1. 2. 글꼴 스타일 글꼴로 결정 # 다섯 자리 임의 코드를 생성하고 이미지 img_obj의 작성 다음 코드 = '' 에 대한 I 에 . (범위 5 :) upper_str = CHR합니다 (random.randint (65 (90) )) lower_str = CHR (random.randint (97,122 )) random_int = STR (random.randint (0,9 )) TEMP_CODE = random.choice ([upper_str, lower_str,이 random_int]) # 다음 이미지 써야
img_draw.text을 ((65 I는 45,0 +) TEMP_CODE, get_random (), 폰트 = img_font) * 코드 + = TEMP_CODE의 출력 (코드 번호) #는 세션에 저장된 생산할 예정 랜덤 코드 request.session의 [수 ' 코드 ' = 코드 img_obj한다. 저장 (io_obj, ' PNG ' ) 반환 HttpResponse에 (io_obj.getvalue을 ())