이번장에서는 Django에 bootstrap frame을 사용해보겠다.
이전장에서 프로젝트 이름을 cert, 앱 이름을 pat으로 만들었다.
django template을 사용하기 위해 pat 디렉토리 하위에 static을 만들고 static 하위에 pat이란 이름의 디렉토리를 생성한다.
[root@leopit.com ~]# mkdir -p pat/static/pat
[root@leopit.com ~]# cd pat/static/pat
본인이 사용할 bootstrap template을 가져온다.
[root@leopit.com pat]# wget https://github.com/BlackrockDigital/startbootstrap-shop-homepage/archive/gh-pages.zip
[root@leopit.com pat]# unzip gh-pages.zip
[root@leopit.com pat]# ls
404.html gulpfile.js register.html
bak js scss
blank.html LICENSE startbootstrap-sb-admin-gh-pages
charts.html index.html login.html tables.html
css package.json vendor
forgot-password.html package-lock.json
gh-pages.zip README.md
이 다음 앱 디렉토리 하위에 templates/pat 디렉토리를 생성한 후 index.html 파일 옮긴다.
본인의 경우 index.html 파일명을 main.html로 변경하였다.
[root@leopit.com ~]# mkdir -p ~/pat/templates/pat
[root@leopit.com ~]# cd /pat/templates/pat
[root@leopit.com pat]# mv ~/pat/static/pat/index.html ./main.html
[root@leopit.com pat]# ls
main.html
이제 html 파일의 css 경로를 바꿔주자
문서 최상단에 {% load staticfiles %} 을 추가해주고 각종 css 경로를 수정한다.
경로는 static 디렉토리 하위에 존재하는 bootstrap 템플릿 경로를 써주면 된다.
[root@leopit.com ~]# vi main.html
<!DOCTYPE html>
{% load staticfiles %}
이제 view.html을 수정하여 template을 연결해준다.
[root@leopit.com pat]# vim ~/pat/views.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader
# Create your views here.
def index(request):
template = loader.get_template('pat/main.html')
context = {
'latest_question_list': "test",
}
return HttpResponse(template.render(context, request))
외부에서 접근할 url을 설정하고 해당 url에 대한 html 파일을 연결해준다.
settings.py에 맨 하단에 STATIC_URL과 ROOT설정을 해준다.
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
마지막으로 collectstatic을 해주면 static/pat에 파일이 복사된다.
[root@leopit.com ~]# python manage.py collectstatic
Copying '/usr/lib64/python2.7/site-packages/django/contrib/admin/static/admin/css/base.css'
Copying '/usr/lib64/python2.7/site-packages/django/contrib/admin/static/admin/css/changelists.css'
Copying '/usr/lib64/python2.7/site-packages/django/contrib/admin/static/admin/css/dashboard.css'
Copying '/usr/lib64/python2.7/site-packages/django/contrib/admin/static/admin/css/fonts.css'
Copying '/usr/lib64/python2.7/site-packages/django/contrib/admin/static/admin/css/forms.css'
Copying '/usr/lib64/python2.7/site-packages/django/contrib/admin/static/admin/css/login.css'
Copying '/usr/lib64/python2.7/site-packages/django/contrib/admin/static/admin/css/rtl.css'
Copying '/usr/lib64/python2.7/site-packages/django/contrib/admin/static/admin/css/widgets.css'
Copying '/usr/lib64/python2.7/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt'
...
[root@leopit.com ~]# cd ~/static/pat
[root@leopit.com pat]# ls
404.html css js package-lock.json tables.html
bak forgot-password.html LICENSE README.md vendor
blank.html gh-pages.zip login.html register.html
charts.html gulpfile.js package.json scss
마지막으로 데몬실행후 사이트 접근
[root@leopit.com ~]# python manage.py runserver 0.0.0.0:8000
'Coding' 카테고리의 다른 글
4. Django DB 만들기 (0) | 2018.12.30 |
---|---|
Django 개발 흐름 (0) | 2018.12.16 |
2. Django 설치편 (0) | 2018.12.14 |
1. Django 개념알기 (0) | 2018.12.06 |
[PHP] 다운로드 구현시 파일이름에 [1] 등이 자동으로 붙어버리는 문제 (0) | 2017.01.07 |