목록Dev/Python (7)
한다 공부
HTML을 사용한 프론트로부터 데이터를 전달받기 위해 Form을 사용했다. 에전에 백엔드 API 서버를 만들었을 때는 Serializer를 사용했는데 Form과 Serializer는 형태가 유사하다. Form, ModelForm은 HTML 입력폼을 통해 입력에 대한 유효성 검사를 수행하고 주로 Create, Update 등 admin에서 활동이 된다. Serializer, ModelSerializer는 데이터 변환과 직렬화를 지원하는 것이다. 주로 JSON 포맷 입력에 대한 유효성을 검사한다. 프로젝트를 진행하던 중, 내가 원하는 형태는 "날짜, 위치, 능력" 을 하나의 폼에서 데이터를 받아오는 것이었다. 하지만 Nested serializer, 즉 중첩된 시리얼라이저는 지원을 해주지만 Nested fo..
장고는 MTV 패턴을 가지고 있다. Model, Template, View 인데 쉽게 이야기하면 모델은 데이터, 템플릿은 화면, 뷰는 데이터 처리와 같은 로직을 담당하고 있다. 우선 Model을 작성해야 하는데, 이러한 데이터 구조와 데이터간의 관계를 쉽게 나타내기 위해 ERD (Entity Relationship Diagram) 를 작성해보자 ERDCloud ERDCloud Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool. www.erdcloud.com 여기에서 작성하였다. ERD는 아래와 같다. 추후 수정될 여지가 있다.. (여력이 된다면 좋아요 기능, 커뮤니..
파이썬 실습을 슬슬 마무리 짓고자한다 파이썬에서 tkinter랑 제일 안친했는데 이번에 좀 친해진... 듯 하다 마지막은 인치를 입력받아 센티미터로 변환하는 프로그램이다! 아주 단순하다 from tkinter import * #entry값을 .get()해서 센티미터로 변환하는 함수 def do_convert(): inch_val = float(cvt_from.get()) centimeters_val = inch_val * 2.54 cvt_to.set('{0} cm'.format(centimeters_val)) root = Tk() cvt_from = StringVar() #entry textvariable와 연결시킬 예정 cvt_to = StringVar() #Label textvariable과 연결시킬..
그림판이라고 하기에도 너무나도 단순한 그림 그리는 프로그램이다. 기능은 왼쪽 마우스를 누르고 그림을 그리면 파란펜으로 그림이 그려지고 '빨간펜' 이라는 버튼을 누르고 그림을 그리면 빨간펜으로 그림이 그려진다 canvas.create_oval을 쓰면 x0 y0을 왼쪽 상단 점으로 x1 y1을 오른쪽 하단 점으로 하는 사각형에 내접한 타원이 그려진다. 이걸 펜으로 쓸 예정이다. 작은 원들이 모여서 선을 그린다고 생각하면 된다. 가시적으로 보이게 하기 위해 두툼한 펜으로 그어봤다 원이 보이나용? canvas.create_rectangle을 써도 되는데, 이 경우에는 작은 네모들이 모여서 선을 그려낸다 아래가 canvas.create_rectangle을 쓴 것이다 네모네모가 보미나묘? 취향에 맞게 고르자 fro..
파이썬 실습하는데 재밌는 기능들이 많았다. 이번엔 메모장.. 비슷한 프로그램을 구현해보자 기능은 파일 아래에 '열기, 저장하기, 종료' -> 종료시 메세지 박스 도움말 아래에 '프로그램 정보' -> 메세지 박스 정도이다 from tkinter import * from tkinter import filedialog from tkinter import messagebox def open(): #파일 대화창을 askopenfile을 이용해서 만들고, 동시에 읽는다 file = filedialog.askopenfile(parent=window, mode='r') if file != None: lines = file.read() # 1.0은 line.column이다. #line은 1부터 시작하고 column은 0..
이번에는 파이썬으로 행맨을 해보자 행맨은 익히들 아는 그 게임.. 단어를 랜덤으로 고른다. -> 수많은 영어 단어를 적어둔 words.txt라는 파일을 준비한다. (첨부파일) 랜덤으로 고른 단어의 알파벳을 추측한다. 해당 단어에 알파벳이 있으면 어디에 그 알파벳이 있는지 알려준다 없으면 재시도한다. 총 기회는 10번이고 10번 안쪽으로 맞추면 성공이고 10번을 추측했는데도 틀리면 실패이다. import random guesses = "" turns = 10 #words파일을 열기 infile = open("words.txt", "r") #파일에서 모든 줄을 읽어서 리스트로 반환한다. =readlines() lines = infile.readlines() #랜덤으로 하나를 고른다 word = random...
평안하신지요? . . 드디어 계절학기가 끝났다 계절학기로 Python관련된 수업을 들었는데 일부 실습 코드를 포스팅하고자 한다 계절학기 때문에 정신이 없어서 일주일간 블로그 방치.. 하지만 종강한 날 포스팅하는 나, 칭찬해 첫 번째 프로그램은 누적 합 계산기이다. 덧셈, 뺄셈이 가능하고 위에 Label로 계산 결과가 뜬다 그 전에, Tkinter에 대해 알아보자! 팅커 아니고 킨터 아니고 티 케이 인터이다. tkinter란, 파이썬에서 그래픽 사용자 인터페이스(GUI: graphical user interface)를 개발할 때 필요한 모듈이다. (모듈이란, 프로그램의 일부를 가지고 있는 독립적인 파일이다. 모듈을 import해서 다양한 기능을 사용할 수 있다) 자바의 Label, Button등을 Tkin..