여론조사 결과 보기2 views.py 파일의 results 함수 수정 def results(request, area): candidates = Candidate.objects.filter(area = area) context = {'canidates':candidates, 'area': area} polls = Poll.objects.filter(area = area) poll_results = [] for poll in polls: result = {} result['start_date'] = poll.start_date result['end_date'] = poll.end_date poll_results.append(result) context = {'candidates':candidates, 'ar..
링크 만들기 📌 herf 어트리뷰트로 link 주소를 설정한다. 지역구가 출력되는 곳에 링크를 추가 하려면 아래 코드를 참고 한다. url 다루기 locallhost:8000/areas/미국/에 대한 url을 등록해주지 않았기 때문에 링크를 클릭하면 페이지를 찾을 수 없다는 창이 뜬다.(Page not found) url을 등록하려면 urls.py와 view.py를 수정한다. 💡 url의 첫 번째 인자 - r'^areas/(?P.+)/$' Django에서 url의 첫 번째 인자는 보통 r'^.../...$' 과 같은 형태를 띄고 있다. 따옴표 안에 들어가는 내용은 정규표현식으로 나타낸다. 정규표현식의 내용을 간략히 보면 - ^ : 문자열의 시작을 알린다. - areas : 문자 그대로 스트링 areas입..
장고 shell 📌 SHELL - 직접 DB에 요청을 하는 다른방법 운영체제에 따라 Shell 실행 방법 windows - powershell에서 unix/linux - 터미널에서 manage.py 가 있는 폴더로 이동 후 python manage.py shell DB에 요청하기 기본 - 사용할 모델 클래스 import >>> from elections.models import Candidate 모든 객체 불러오기 - all() >>> Candidate.objects.all() 새 객체 생성하고 저장하기 - Model.save() >>> new_candidate = Candidate(name = "루비오") # 생성만 한 상태이다. 아직 저장되지 않았음. >>> new_candidate.save() # ..
목차 모델 클래스 📌 app과 관련된 정보를 저장할 model 모델클래스는 앱안의 models.py에 정의 한다. 모델 class는 models.Model 을 상속 받아야 한다. 모델 class안의 멤버 변수의 field에 대한 정보는 Field types를 참고해주세요. ? django에서 보통 model 이름은 대문자로 시작하고 단수형으로 쓴다. #C:\Code\mysite\elections\models.py class Candidate(models.Model): name = models.CharField(max_length=10) introduction = models.TextField() area = models.CharField(max_length=15) party_number = models...
목차 Django 설치에 앞서 📌 Django를 설치하려면 Python이 먼저 설치되어 있어야한다. 설치 과정에서 "Add Python 3.5 to PATH" 를 체크하여 자동으로 환경 설정을 하도록 한다. 🎯 윈도우 - powershell 에서 > pip 🎯 유닉스/리눅스 - 터미널에서 $ pip 위 명령을 입력했을 때 에러가 나지 않으면 Python이 설치된 상태이다. "윈도우 + R" 키를 눌러 실행창에서 powershell을 실행시키면 사용할수 있다. 💡 파워쉘은 커맨드 라인을 대체할 마이크로 소프트의 새로운 툴이다. 파워셀은 DOS의 업데이트 버전이 아니다. 파워셀은 MS가 이전에 제공했던 어떤 커맨드 라인 프로프트보다 강력한 커맨드라인 시스템이다. Django 설치 📌 플랫폼에 따라서 Djan..
Python 주소록 프로젝트 목차 Contact 클래스 만들기 연락처 프로그램을 살펴보면 연락처에는 이름, 전화번호, 이메일, 주소 등을 입력할 수 있다. 이를 파이썬에서 제공하는 기본 자료형으로 표현하기보다 하나의 클래스로 정의하는 것이 좋다. Contact 라는 이름의 클래스를 정의하고, 클래스 인스턴스를 생성할 때 이름, 전화번호, 이메일, 주소를 입력받을 수 있게 생성자를 선언하고 인스턴스 변수에 저장된 정보를 화면에 출력하기 위해 print_info 라는 메서드도 정의한다. PyCharm 에서 Ctrl + F9 또는 Ctrl + F5를 눌러 작성한 프로그램이 정상적으로 동작하는지 확인한다. 사용자로부터 데이터 입력받기 파이썬에서 사용자로부터 데이터를 입력받을 때는 input() 함수를 사용한다...
파이썬으로 XML 처리하기 목차 XML 문서 생성하기 📌 ElementTree를 이용하여 다음과 같은 구조의 XML 문서를 생성해 보자. Tove Jani Reminder Don't forget me this weekend! 다음과 같은 소스를 작성한다. 위 소스의 실행 결과는 다음과 같다. Tove 엘리먼트(Element)를 이용하면 태그를 만들 수 있고, 만들어진 태그에 텍스트 값을 추가할 수 있다. 🎯 SubElement 📌 서브엘리먼트(SubElement)를 이용하면 조금 더 편리하게 태그를 추가할 수 있다. 실행 결과는 다음과 같다. ToveJani 서브엘리먼트는 태그명과 태그의 텍스트 값을 한 번에 설정할 수 있다. 또는 다음과 같이 태그 사이에 태그를 추가하거나 특정 태그를 삭제할 수도 있다..
목차 메타 문자 +, *, [], {}등의 메타문자는 매치가 진행될 때 현재 매치되고 있는 문자열의 위치가 변경된다. (보통 소모된다고 표현) 하지만 이와 달리 문자열을 소모가 없는(zero-width assertions) 메타 문자들에 대해서 살펴본다. 🎯 | |메타 문자는 "or"의 의미와 동일하다. A|B라는 정규식이 있다면 이것은 A또는 B라는 의미가 된다. 🎯 ^ ^메타문자는 문자열의 맨 처음과 일치함을 의미한다. 컴파일 옵션 re.MULTILINE을 사용할 경우에는 여러줄의 문자열에서는 각 라인의 처음과 일치하게 된다. ^Life정규식은 "Life"라는 문자열이 처음에 온 경우에는 매치하지만 처음 위치가 아닌 경우에는 매치되지 않음을 알 수 있다. 🎯 $ $메타문자는 ^메타문자의 반대의 경우이..