Django Project 환경 구축 (feat.venv) 목차 Python 가상 환경 설정하기 virtualenv(Virtual Environment)는 가상으로 Python 환경을 만드는 도구이다. 실제 환경인 주 시스템(운영체제)에 패키지를 설치하면 패키지가 바뀔 때마다 그 패키지를 사용하는 프로젝트 모두가 영향을 받는다. 예를 들어, Django 1.6 버전을 기반으로 프로그램을 개발하였는데, 얼마 후 1.6버전과 호환성이 떨어지는 Django 1.7버전이 출시됐다고 가정한다. 만약 Django 1.7 버전을 설치한다면 Django 1.6 버전에서 잘 작동하던 프로그램에 문제가 발생할 지도 모른다. Django 1.6 버전을 기반으로한 프로젝트와, Django 1.5 버전 기반으로한 프로젝트는 D..
파일 사용하기 중요 static 파일은 DEBUG = true 일 때 의도한대로 쓸 수 있다. mysite\mysite\settings.py 에서 DEBUG = true 로 되어 있는지 확인한다. C:\Code\mysite\elections\static\elections 경로에 favicon 그림 파일 저장하기 경로 추가하기 {% load staticfiles %} 장고를 활용한 투표 사이트 {% block content %}{% endblock %} 새로고침 결과
여론조사 결과 보기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...