목록dev-log/python (48)
오식랜드
출처 : http://pythonstudy.xyz/ 이벤트 핸들링 Tkinter 위젯들은 종종 버튼 클릭이나 메뉴 클릭과 같은 기본적인 이벤트 처리를 위한 속성을 제공하고 있다. 예를 들어, 버튼이나 메뉴 클릭을 핸들링 위해 "command=" 옵션을 사용할 수 있다. 아래 예제는 OK 버튼이 클릭되었을 때, okClick()이라는 함수를 실행하도록 하는 코드이다. from tkinter import * from tkinter import messagebox root = Tk() # 버튼 클릭 이벤트 핸들러 def okClick(): name = txt.get() messagebox.showinfo("이름", name) lbl = Label(root, text="이름") lbl.grid(row=0, co..
출처 : http://pythonstudy.xyz/ Tkinter 위젯 Tkinter는 제한된(Limited) 핵심 위젯들만을 제공하고 있다. 아래는 Tkinter가 제공하는 주요 위젯들이다. 위젯 설명 Button 단순한 버튼 Label 텍스트 혹은 이미지 표시 CheckButton 체크박스 Entry 단순한 한 라인 텍스트 박스 ListBox 리스트 박스 RadioButton 옵션 버튼 Message Label과 비슷하게 텍스트 표시. Label과 달리 자동 래핑 기능이 있다. Scale 슬라이스 바 Scrollbar 스크롤 바 Text 멀티 라인 텍스트 박스로서 일부 Rich Text 기능 제공 Menu 메뉴 Pane Menubutton 메뉴 버튼 Toplevel 새 윈도우를 생성할 때 사용. Tk..
출처 : http://pythonstudy.xyz/ 소개 Tkinter는 파이썬에 사용할 수 있도록 한 Lightweight GUI 모듈이다. Tkinter는 타 GUI 프레임워크나 툴킷에 비해 지원되는 위젯들이 부족하고 UI도 그렇게 예쁘지 않다는 단점이 있지만, Python 설치시 기본적으로 내장되어 있는 파이썬 표준 라이브러리이기 때문에 쉽고 간단한 GUI 프로그램을 만들 때 활용될 수 있다. 기본 문장 Python 설치시 기본적으로 내장되어있기 때문에 따로 설치가 필요 없다 from tkinter import * # tkinter 불러오기 root = Tk() # TK라는 클래스 객체를 root에 저장 root.mainloop() # 객체의 mainloop() 메서드를 호출한다. mainloop(..
css, javascript, images 등의 정적 파일을 static file이라고 한다 그런 파일을 templates의 html에 연결해보자 css 연결 위치는 polls/static/polls/css/style.css 와 같이 static폴더를 새로 만들고 그 안에 앱 이름과 같이 폴더를 또 만들어줘야한다 그리고 html 상단에 css를 연결시켜주자 {% load static %} image 연결 polls/static/polls/img 와 같이 폴더를 만들고 그 안에 이미지를 넣어보자 그리고 css에서 연결을 할 때에는 상대경로로 찾아주면 된다. div{ background: url('../img/bg.png') no-repeat center; }
제너릭 뷰란 함수형 view가 아닌 class형 view이다. class형 view를 통해 중복되는 내용을 제거할 수 있어서 코드 길이가 짧아진다. url config 수정 polls/urls.py from django.urls import path from . import views app_name = 'polls' urlpatterns = [ path('', views.IndexView.as_view(), name='index'), path('/', views.DetailView.as_view(), name='detail'), path('/results/', views.ResultsView.as_view(), name='results'), path('/vote/', views.vote, name='v..
사용자로부터 서버로 데이터를 저장하도록 해보자 우선 template의 detail.html을 수정해주자 {% csrf_token %} {{ question.question_text }} {% if error_message %}{{ error_message }}{% endif %} {% for choice in question.choice_set.all %} {{ choice.choice_text }} {% endfor %} 그리고 views에서 vote함수를 아래와 같이 작성한다 from django.shortcuts import get_object_or_404, render from django.http import HttpResponse, HttpResponseRedirect from django.u..