본문 바로가기

파이썬 프로그래밍

[django] 장고. dictionary를 사용하여 화면에 지지율 표시하기. 1. views에서 넘겨줄 results함수의 내용 수정하기코드복사는 아래코드 쓰시면 되고 아래에 코드를 쪼개서 설명 달아놓겠습니다.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374from django.shortcuts import renderfrom django.http import HttpResponsefrom django.http import HttpResponseRedirectfrom .models import Candidate, Poll, Choiceimport datetimefrom django... 더보기
[Django] 장고. http redirect하기 1. 시작하기 전에바로전 글에서 했던 기능입니다. 여기서 선택을 누르면 '이렇게 votes가 1 올라가면서 해당 페이지로 넘어가게 되는데 이 페이지를 redirect해서 결과화면이 나오는 페이지로 바꿔보겠습니다. 2. 화면을 그려줄 html파일을 만들자mysite -> elections -> templates -> elections -> result.html파일을 만들어 아래 코드를 붙여넣어 줍니다.1234567891011121314151617181920212223242526272829303132 {{candidate.area}} 선거 결과 지역구 기간 후보1 후보2 기간1 후보1 지지율 후보2 지지율 Colored by Color Scriptercs 3. urls.py에서 어떤화면에서 이 html을 나.. 더보기
[Django] 장고. 버튼을 눌러 DB에 저장 1.area.html 화면디자인1. poll에 데이터가 들어온다면 표를 실행합니다.2. 아무 데이터가 없다면 해당 문자를 페이지에 출력합니다3. 조건문이 시작했으면 마무리를 반드시 지어줍니다.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 {{area}} {{area}}{% if poll %} 이름 소개 번호 투표하기 {% for candidate in candidates %} {{ candidate.name }} {{ candidate.introduction }} 번호{{ candidate.party_number }}번 {% csrf_token %} 선택 {% endfor %} {% else.. 더보기
[Django] 장고. 화면구현(DB내용을 불러와 화면에 출력) 1. 링크만들기elections -> index.html에 28, 29번째 줄을 수정합니다. a href = 링크를 넣어준다는 html코드로 클릭하면 areas라는 이름의 함수를 실행한다는 뜻입니다. 아래 코드 참고하여 수정하세요12345678910111213141516171819202122232425262728293031323334 해바라기반 반장선거 번호 이름 소개 동네 {% for candidate in candidates %} {{candidate.party_number}}번 {{candidate.name}} {{candidate.introduction}} {{candidate.area}} {% endfor %} Colored by Color Scriptercs elections -> urls.p.. 더보기
[Django] 장고. model 모델클래스 나눠 관리하기 model클래스를 나누기 전에 Data base의 외부키(foreign key)에 대한 개념이 잡혀있으면 이해하기 쉽습니다. 1. model클래스를 나눠야하는 이유하나의 DB 테이블이 있습니다.이렇게 테이블을 만들다보면 후보가 늘어날때마다 테이블을 계속 수정해 줘야하는 번거로움이 생길것입니다.그래서 model클래스를 나눠 관리하기 쉽고 효율적인 테이블을 만들게 됩니다. 위에 있는 테이블을 2개로 나눴습니다.어린이의 홍보기간 테이블과 어린이의 득표수 테이블로 나눴습니다. 두개의 테이블을 엮기 위해 공통적인 컬럼이 있는데 이것은 번호입니다. 이것을 외부키(Foreign key)라고 합니다. 2. 어린이의 홍보기간 클래스 만들기(Poll)1234class Poll(models.Model): start_date.. 더보기
[Django] 장고. MVC패턴의 기초, 이해 지금까지 해온 실습을 바탕으로 정리한 게시글 입니다. 1. MVC패턴의 구동순서가장 먼저 mysite라는 project -> mysite 폴터 -> urls.py 안에 있는 -> urlpatterns부터 보게 됩니다.보면 기본값이 elections.urls로 가라고 되어있네요그럼 elections.urls로 따라가 봅니다. elections 폴더 -> urls.py 안에 보면 -> views.py 파일 안에 index 함수를 가리키고 있습니다.따라가 보겠습니다. 따라가 보면 바로 전시간에 했던 내용입니다.전시간 강의 바로가기 클릭 (DB를 html화면에 출력하기) 그림으로 쉽게 보는 MVC 패턴장고의 MVC 패턴은 이렇게 정의할 수 있습니다.앞서 실습해봤던 것을 예를들어서 설명하자면Model (model.. 더보기
[Django] 장고. DB를 html화면에 출력하기 DB에 저장된 데이터들을 템플릿에 있는 html화면에 출력해 보겠습니다. 1. views.py에서 DB의 어린이 정보를 html에 전달Views.py에서 수정합니다.1. Candidate.objects.all(): Candidate의 모든 objects들을 불러와서 candidates라는 변수에 저장합니다.2. candidates변수안에 정보들을 context에 저장합니다.3. elections/index.html에 context의 정보들을 같이 전송합니다.123456789101112from django.shortcuts import renderfrom django.http import HttpResponse from .models import Candidate # Create your views her.. 더보기
[Django] 장고. 템플릿을 통한 HTML을 불러오기(장고 템플릿 기초 이해하기) 본 게시글은 템플릿안에 있는 htm파일을 장고로 불러오는 방법과 템플릿이 무엇인지 구동원리를 이해하기 위한 기초 글입니다.1. 기본 디렉토리 세팅elections폴더 안에 templates폴더를 만들고 그안에 elections폴더를 또 만들고 그안에 index.html을 만들어줍니다. 왜 이렇게 복잡하게 하는가?그이유는 장고가 템플릿을 찾는 방식때문에 그렇습니다.그림을 통해 이해하겠습니다.현재 왼쪽이 제가 구성한 디렉토리 화면입니다.만약 elections app말고 다른 app에 templates에도 index.html이 온다면?그렇다면 이름이 중복되어 꼬일수 있기 떄문에 elections app안에 templates안에 app이름으로 또 만들어 주는 것입니다.만약 elections app 말고 join.. 더보기
[Django] 장고. DB에 저장된 데이터 View(HTML)화면에 출력하기 지난시간에 한 DB디자인 및 공간만들기와 DB에 값을 넣어주는 작업이 되어있어야 합니다.1. [Django] 장고. 정보를 담는 모델 클래스, DB디자인및 공간만들기2. [Django] 장고. 장고 admin을 통하여 DB에 값을 넣어보자 클릭하시면 해당 게시글로 이동합니다. 오늘은 드디어 저장된 DB를 HTML화면에 출력하는 작업을 해보겠습니다.매우 간단하고 쉬우니 차근차근 따라해 봅시다. 1. 화면에 출력하기 위한 views.py 코드 수정화면 출력을 담당하는 views.py를 수정만 해주면 됩니다. 매우 쉽죠?1234567891011121314from django.shortcuts import renderfrom django.http import HttpResponse from .models imp.. 더보기
[Django] 장고. 장고 admin을 통하여 DB에 값을 넣어보자 1. 장고 admin계정 만들기powershell에서python manage.py createsupersuer를 입력하여 정보를 수정합니다.먼저 유저의 이름을 입력합니다. 이메일을 입력합니다. 패스워드를 2번 입력합니다. 그러면 이미지와 같이 성공했다고 나옵니다.이렇게 수정을 완료하였습니다. 2. 서버 실행 및 계정 로그인서버를 열어줍니다. localhost:8000/admin 은 admin페이지로 접속한다는 뜻이며, 설정한 계정으로 로그인합니다. 우리가 설정한 Candidate가 보이지 않네요?이제 설정해 보겠습니다. 3. Candidate admin페이지에 나태내보기elections안에 있는 admin.py를 들어가서 코드를 입력합니다.1234567from django.contrib import ad.. 더보기