관리 메뉴

Storage Gonie

14. (app1) Django Views와 템플릿 연동(MTV 중 Template과 View을 조작) 본문

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

14. (app1) Django Views와 템플릿 연동(MTV 중 Template과 View을 조작)

Storage Gonie 2019. 2. 8. 14:28
반응형

1. urls.py에 규칙 추가

from django.conf.urls import url
from django.contrib import admin
from lotto import views

urlpatterns = [
url(r'^admin/', admin.site.urls), #localhost:8000/admin일 때
url(r'^$', views.index), #localhost:8000/일 때 views.index에 연결해준다.
]

from django.conf.urls import url
from django.contrib import admin
from lotto import views

urlpatterns = [
url(r'^admin/', admin.site.urls), #localhost:8000/admin일 때
url(r'^$', views.index), #localhost:8000/일 때 views.index에 연결해준다.
url(r'^lotto/$', views.index2, name='index'),
]

2. views.py에 로직 추가

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def index(request): # request는 브라우저의 요청을 의미한다.
return HttpResponse('<h1>Hello, Inflearn!</h1>')

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def index(request): # request는 브라우저의 요청을 의미한다.
return HttpResponse('<h1>Hello, Inflearn!</h1>')

def index2(request):
return render(request, "lotto/default.html", {}) # 마지막 괄호에 오브젝프틑 포함시킬 수 있음

3. lotto폴더 밑에 templates폴더 생성, 그 밑에 다시 lotto폴더 생성, 그 밑에 default.html 만들기.(템플릿폴더 밑에 같은 이름으로 추가하는 이유는 하나의 앱에 로또 페이지 말고도 다른게 들어갈 수 있으므로)

4. lotto폴더 밑에 static폴더 생성, 그 밑에 css폴더 생성, 그 밑에 lotto.css을 생성


5. 3에서 생성한 html파일에 정적파일인 css를 링크해줌(복사 붙여넣기 할때 ', " 이게 다른걸로 변경되지 않았나 잘 봐야 한다.)

- 첫 줄은 <!DOCTYPE html첫바로 아래에 넣어주면 되고, 두번째 줄은 <head>에 넣어주면된다.

- 이해가 안되지만 아래와 같이 해주면 href {}에 있는 게 나중에 상대 경로로 바뀐다.(이것은 페이지 접속 후 코드를 확인해보면 알 수 있음)

{% load staticfiles %}
<link rel="stylesheet" href="{% static 'css/lotto.css' %}">

6. terminal에서 정적파일이 추가되었다는 것을 알림

- "python manage.py staticcollect", yes 입력


7. 서버 실행


반응형
Comments