Django Project ToDoList - 2
Page content
개요
Django 한 그릇 뚝딱
교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함- 2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김
교재 홍보
Step 01 - 이전 내용 확인
- 이 글을 처음 봤다면, 이전 블로그를 참조하기를 바란다.
Step 02 - HTML 템플릿 사용
-
HTML과 CSS가 적용된 기본 템플릿은 다음 github 저장소에서 다운로드 받을 수 있다.
-
my_to_do_app
폴더에 가면templates
폴더는 처음에는 존재하지 않는다. 따라서, 새로운 폴더를 생성하여 폴더명을templates
라고 명명한다.- 폴더 생성 전
$ ls __init__.py __pycache__/ admin.py apps.py migrations/ models.py tests.py urls.py views.py
- 폴더 생성 후
$ ls __init__.py __pycache__/ admin.py apps.py migrations/ models.py templates/ tests.py urls.py views.py
-
templates
폴더 안에 다시my_to_do_app
폴더를 만들고 그 안index.html
파일을 생성 후, 아래코드를 복사하여 붙여 넣는다.- 이 때, 부트스트랩 버전에 유의한다.
- 주의! 교재에 나와있는 버전 대신, 최신버전을 사용하려면 관련 스타일을 모두 변경해야 한다. 여기에서는 이 과정은 생략한다.
- 파일 경로 확인 :
ToDoList/my_to_do_app/templates/my_to_do_app/index.html
<html lang="ko"> <head> <meta charset="UTF-8"> <!-- Boot strap --> <!-- 합쳐지고 최소화된 최신 CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> <!-- 부가적인 테마 --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css"> <!-- 합쳐지고 최소화된 최신 자바스크립트 --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> <style> .content{ height: 75%; } .messageDiv{ margin-top: 20px; margin-bottom: 50px; } .toDoDiv{ } .custom-btn{ font-size: 10px; } .panel-footer{ height:10%; color:gray; } </style> <title>To-Do</title> </head> <body> <div class="container"> <div class="header"> <div class="page-header"> <h1>To-do List <small>with Django</small></h1> </div> </div> <div class="content"> <div class="messageDiv"> <form action="" method="POST">{% csrf_token %} <div class="input-group"> <input id="todoContent" name="todoContent" type="text" class="form-control" placeholder="메모할 내용을 적어주세요"> <span class="input-group-btn"> <button class="btn btn-default" type="submit">메모하기!</button> </span> </div> </form> </div> <div class="toDoDiv"> <ul class="list-group"> <form action="" method="GET"> <div class="input-group" name='todo1'> <li class="list-group-item">메모한 내용은 여기에 기록될 거에요</li> <input type="hidden" id="todoNum" name="todoNum" value="1"></input> <span class="input-group-addon"> <button type="submit" class="custom-btn btn btn-danger">완료</button> </span> </div> </form> </ul> </div> </div> <div class="panel-footer"> 실전예제로 배우는 Django. Project1-TodoList </div> </div> </body> </html>
Step 03 - views.py 파일 수정
- 기존
HttpResponse
코드 영역을 아래와 같이 재 수정한다.
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
# before
'''
def index(request):
return HttpResponse("My_to_do_app first page")
'''
# after
def index(request):
return render(request, "my_to_do_app/index.html")
Step 04 - 확인
- 다시
manage.py
를 실행하여 정상적으로 웹에서도 구동이 되는지 확인한다.
python manage.py runserver