프로그래밍 공부
Django Framework 공부 1 본문
https://youtube.com/playlist?list=PLuHgQVnccGMDLp4GH-rgQhVKqqZawlNwG&si=2bgYsyU6sto3w9MZ
Python Django Web Framework
www.youtube.com
생활코딩 Django 강의로 공부를 시작
실행환경
VScode, python 3.9.13 anaconda
1. Django 설치 방법
pip install django
2. Django project 시작 방법
django-admin startproject 프로젝트 이름
django-admin 키워드를 사용해 다른 명령를 확인 할 수 있음
3.파일 설명
중요한 파일
settings - 프로젝트를 운영하는데 필요한 설정
urls - 사용자가 접속하는 path에 따라서 요청을 어떻게 처리할지 라우팅 해주는 파일
manage.py - 프로젝트를 진행하는데 있어서 필요한 유틸리티 파일
4. 서버 실행
runserver 뒤에 8888은 포트 번호이다 아무것도 입력하지 않으면 임의로 8000으로 잡히고 저렇게 숫자를 입력하면 내가 원하는 포트 번호를 사용 할 수 있다.
5. app 만들기
django-admin startapp 이름
성공하면
이런 식으로 폴더가 생긴다.
6. 라우팅
이런식으로 작성해주고
내가 위임해줄 app 폴더에 urls파일을 만들어준다 이 예시에서는 myapp 이라는 app에 urls.py파일을 만들어준다.
이제 웹페이지를 작성하고 라우팅을 해준다
7. 홈페이지 읽기 기능 구현하기
from django.shortcuts import render, HttpResponse
import random
# 딕셔너리 리스트 데이터
topics = [
{'id':1, 'title':'Routing', 'body':'Routing is ..'},
{'id':2, 'title':'View', 'body':'View is ..'},
{'id':3, 'title':'Model', 'body':'Model is ..'},
]
# 사이트 기본 템플릿
def HTMLTemplate(articleTag):
global topics
ol = ''
for topic in topics:
ol += f'<li><a href="/read/{topic["id"]}">{topic["title"]}</a></li>'
return f'''
<html>
<body>
<h1><a href="/">Django</a></h1>
<ol>
{ol}
</ol>
{articleTag}
</body>
</html>
'''
# Create your views here.
# 메인 페이지
def index(request):
article = '''
<h2>Welcom</h2>
Hello, Django
'''
return HttpResponse(HTMLTemplate(article))
# return HttpResponse('<h1>Random</h1>'+str(random.random()))
# 딕셔너리를 읽는 페이지
def read(request, id):
global topics
article = ''
for topic in topics:
if topic['id'] == int(id):
article = f'<h2>{topic["title"]}</h2>{topic["body"]}'
return HttpResponse(HTMLTemplate(article))
def create(request):
return HttpResponse('Create')
실행결과
참고사항 f-string을 사용하면 {} 안에 원하는 값을 사용할 수 있다
ex)