1. Django Tutorial

xyzw·2023년 2월 6일
0

django

목록 보기
2/2

첫 앱 시작, 그리고 기본적인 view 만들기

account 앱 만들기

>python manage.py startapp accountapp

setting.py의 INSTALLED_APPS 리스트에 'accountapp'을 넣어줌

view.py

브라우저에서 어떤 경로로 접속하게 되면 메세지를 출력하는 view를 만들기

pycharm에서 alt+enter를 누르면 import 목록이 나옴

라우팅

urls.py의 urlpatterns 안에 path 구문 사용

path('account/', include('accountapp.urls'))
  • 'account/': account 앱 내부의 view에 들어감
  • include 구문: account 앱 내부의 urls.py를 포함해서 그 하위 디렉토리로 분기를 해라

accountapp 내부에 urls.py를 만들기

urlpatterns와 동일한 이름으로 리스트 생성

urlpatterns = [
	path('hello_world/', hello_world, name='hello_world')
]

실행

>python manage.py runserver

Git

필요성

  • 버전 관리
  • Branch
  • 협업

.gitignore

  • git을 활성화하면 폴더 내 모든 파일을 추적하는데, 추적이 불필요한 파일도 있으므로 .gitignore 파일을 생성하여 관리함
  • 추적을 원치 않는 파일을 .gitignore 코드 내에 명시

command

status

파일들의 상태를 나타냄

>git status

add

커밋 전에 아직 추적되지 않은 파일들을 추적하겠다는 의미

>git add . 

.은 모든 파일을 의미

commit

>git commit -m "Initial commit"

-m 뒤에 커밋 메세지 작성

커밋 전에 민감한 환경변수 분리

Secret key

setting.py의 SECRET_KEY는 배포 시 노출하면 안 됨

터미널에 다음 명령어를 입력

>pip install django-environ

설치 후 https://django-environ.readthedocs.io/en/latest/ 에 나와있는 대로 setting.py에 다음을 삽입하고

import environ
import os

env = environ.Env(
    # set casting, default value
    DEBUG=(bool, False)
)

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

# Take environment variables from .env file
environ.Env.read_env(
    env_file=os.path.join(BASE_DIR, '.env')
)

.env 파일도 생성해줌

DEBUG=on
SECRET_KEY=your-secret-key
DATABASE_URL=psql://user:un-githubbedpassword@127.0.0.1:8458/database
SQLITE_URL=sqlite:///my-local-sqlite.db
CACHE_URL=memcache://127.0.0.1:11211,127.0.0.1:11212,127.0.0.1:11213
REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient&password=ungithubbed-secret

setting.py의 SECRET_KEY 값을 .env의 your-secret-key 부분에 ('' 제거하여) 넣어줌

그리고 setting.py를 다음과 같이 수정하고, .gitignore에 .env도 추가해줌

SECRET_KEY = env('SECRET_KEY')

장고 Template의 extends, include 구문과 render 함수

HTML: Hyper Text Markup Language

extends: 구역을 나누어 미리 만들어놓은 html 파일을 가져와서 블럭 안의 내용이나 나머지 것들을 채워나감
include: 작은 조각들을 템플릿 안에 넣음

base.html이 templates 폴더 안에 있으므로 accountapp의 view.py에서 응답할 때 템플릿을 가져와서 그 안에 내용을 넣을 수 있다.

include / extends / block 구문을 이용한 뼈대 html 만들기

div: 가능한 형태의 모든 폭을 가져가는 태그

0개의 댓글