관리 메뉴

Storage Gonie

26. (app2) views.py 및 urls.py 수정2(url에서 입력받은 수를 views에 전달) 본문

웹개발/Django 웹서비스 개발(인프런)

26. (app2) views.py 및 urls.py 수정2(url에서 입력받은 수를 views에 전달)

Storage Gonie 2019. 2. 17. 21:31
반응형

1. 원래의 urls.py가 아닌 앱이름/urls.py에 urlpattern을  아래와 같이 추가해준다.

- 아래와 같은 패턴이 입력가능해진다.

- 아래와 같이하면 url을 통해 입력받은 숫자를 views에 넘겨줄 수 있음

- localhost:8000/polls/

- localhost:8000/polls/숫자/

- localhost:8000/polls/숫자/results

- localhost:8000/polls/숫자/vote

from django.conf.urls import url

from . import views

urlpatterns = [
url(r'^$', views.index, name = 'index'),
url(r'^(?P<question_id>[0-9]+)/$', views.detail, name = "detail"),
url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name = "results"),
url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name = "vote"),
]


2. views.py에 메소드를 추가해준다.

- url로부터 얻은 숫자를 출력해낼 수 있다.

from django.shortcuts import render

# Create your views here.
from django.http import HttpResponse

def index(request):
return HttpResponse("Hello, CodeSquad")

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)


반응형
Comments