당신은 멋쟁이, 우리는 장고쟁이~

0%

최소한의 폼 작성하기



튜토리얼 part3 에 이어서, 계속 진행 합니다. Web-poll 어플리케이션을 이어서 진행하고.


part4 에서는 form 프로세싱과 코드양을 줄이는데 집중합니다.


polls/detail.html 수정하기


지난 포스팅까지 작성한

디테일 템플릿 polls/detail.html 파일에

html <form> 요소를 추가하여 업데이트 해줍니다.


더 읽어보기 »

URL 이름공간 분리하기


이번 튜토리얼은, polls 앱 하나 밖에 없습니다.

하지만, 실제 Django 프로젝트에서는, 프로젝트에서 사용되는 앱의 갯수가, 5개, 10개, 20개 혹은 그 이상이 될수 있습니다.


그렇다면, Django 는 URL 이름들을 어떻게 구분해야 할까요?


더 읽어보기 »

템플릿에서 하드 코드된 코드 제거하기



polls/index.html 템플릿에서 question 에 연결된 링크를 기억해야 합니다.


해당 링크는 부분적으로 아래와 같이 하드 코드 되어 있습니다.


1
<li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>


더 읽어보기 »

템플릿 시스템 사용하기


이전 포스팅에서 작성했던 detail() 뷰로 다시 돌아갑니다.


1
2
3
def detail(request, question_id):
question = get_object_or_404(Question, pk=question_id)
return render(request, 'polls/detail.html', {'question': question})

컨텍스트 변수 question 이 polls/html 로 전달이 되어 render 가 됩니다.


더 읽어보기 »

render() 숏컷



템플릿을 읽고, 컨텍스를 채우고, 렌더가 된 템플릿을 결과값으로 가진 HttpResponse 객체를 반환 하는 일은 매우 흔한 일입니다. 따라서, Django 는 이것에 대한 shortcut 함수를 제공합니다.


render() 함수는

템플릿을 읽고, context 를 채우고,

결과를 템플릿에 객체로 반환합니다.


render() 함수를 알아보기 위해서, polls/views.py 에 index() 함수를 다시 써줍니다.


더 읽어보기 »

실제로 무언가를 하는 view 작성하기


각각의 뷰는 두가지중 하나를 실행 하도록 되어 있습니다.


  1. 요청된 페이지의 컨텐츠를 포함하고 있는 HttpResponse 객체를 반환
  2. Http404 같은 예외를 발생

나머지 동작은, 개발자 마음대로 입니다~


더 읽어보기 »

더 많은 view 쓰기



지난 포스팅에서 짧게 polls 앱에 필요한 views를 둘러보았습니다.


이제 몇개의 view 들을 polls/views.py 에 더 써줄겁니다. 추가될 view 들은 좀 다릅니다.


추가되는 view 들은 인수를 가집니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.


def index(request):
return HttpResponse("Hello, world. You're at the polls index.")


def detail(request, question_id):
return HttpResponse("You're looking at question %s." % question_id)


def results(request, question_id):
response = "You're looking at the results of question %s."
return HttpResponse(response % question_id)


def vote(request, question_id):
return HttpResponse("You're voting on question %s." % question_id)

더 읽어보기 »

Part 3 Overview


이번 튜토리얼은 part2 에 이어서, part 3 를 진행합니다.


여전히 투표 어플리케이션에 대해 진행이 됩니다.


Public Interface 인 “view” 에 집중합니다.

복습을 위해, 아래 그림들을 이전 포스팅에서 가져 왔습니다.



view 란 Django 안에 있는 하나의 웹페이지 종류로, 보통 특정 기능과 특정 템플릿에 대해 수행합니다.


더 읽어보기 »

어드민 페이지 기능 살펴보기



지난 포스팅에서, Question 을 관리 할수 있도록,


Question 모델을 어드민 페이지에 등록을 하였습니다.


Django 는 이제 관리자 페이지에 Question 을 표시해야 하는것을 압니다.



더 읽어보기 »

polls 앱을 어드민에서 수정하기


지난 포스팅에, 관리자 사이트 꼐정을 만들고, Django에서 기본으로 제공하는 관리자 페이지에 접속해 보았습니다. 접속해 보면, 우리가 생성한 polls 앱을 수정할수 있는 컨텐츠가 보이지 않습니다.



polls 앱의 컨텐츠는 Quetion 과 Choice 인데,
관리자 페이지에서 추가, 수정, 삭제가 되지 않는다면, 관리자 페이지가 무슨 의미가 있을까요?


더 읽어보기 »