컴굥일지
[Django Study 02] Django 시작 & Gitignore 본문
반응형
[첫 앱 시작, 그리고 기본적인 view 만들기]
# terminal에서 app 생성하기
python manage.py startapp [원하는 app 이름]
이 명령어를 치면, accountap이라는 폴더가 따로 생긴다.
이렇게 생성된 프로젝트를 main(pragmatic)에서 쓰기 위해서는, main 폴더의 settings.py 파일을 수정해주어야 한다.
아래와 같이 settings.py에 위에서 생성한 app 이름을 추가해주면, main에서 우리가 이 app을 추가했고, 사용할 것이라는 것을 알게 된다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accountapp', # 이것을 추가해 주어야 한다.
]
accountapp/views.py에 아래와 같이 쓰면 일단은 view만 만든 것이 된다.
#accountapp/views.py
from django.http import HttpResponse
def hello_world(request):
return HttpResponse("Hello World!!")
위 코드는 request로 url을 받으면 해당 홈페이지에서 Hello World!! 를 띄우는 함수를 작성한 것이다.
이제 이렇게 만든 화면을 보기 위해서 연결을 시켜주는 작업이 필요하다.
특정 주소를 들어갔을 때, 특정 view를 보여주기 위해서 routing 과정이 필요하다.
#pragmatic/urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls), #원래 만들어져 있다.
path('account/', include('accountapp.urls')), #이 부분을 작성해 주어야 한다.
]
path('account/', include('accountapp.urls'))
account/ 라는 주소로 접근을 하면 accountapp안의 urls.py에 접근해서, 그 안에서 다시 분기를 하는 방식으로 접근할 수 있다.
#accountapp/urls.py
from django.urls import path
from accountapp.views import hello_world
app_name="accountapp"
urlpatterns = [
path("hello_world/", hello_world, name='hello_world'),
#path(["주소"], [가져오는 함수 이름], [이 route의 별칭]),
]
account 하위 주소에서, hello_world라는 주소로 접근하면 위에서 만든 hello_world view를 볼 수 있게 된다.
#아래 코드를 터미널에서 치면 127.0.0.1.8000/에 접속할 수 있다.
#저 주소 뒤에 account/hello_world/를 붙이면 위에서 만든 홈페이지를 볼 수 있다.
python manage.py runserver
[Gitignore 설정, 환경변수 분리, 첫 커밋]
- .gitignore 파일을 사용하여 github에 올리지 않을 파일들을 관리할 수 있다.
- github에 올리지 말아야 할 정보들의 경우, 이 .gitignore을 통해 관리할 수 있다.
시크릿키 관리하기
- 이 사이트를 참고해보자.
- 터미널에 pip install django-environ 을 입력한다.
- main의 settings.py에 코드를 일부 수정한다.
from pathlib import Path
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')
)
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = env('SECRET_KEY') ##이 부분이 중요하다.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
- .env 파일에 아래와 같이 입력한다.
# .env파일을 생성하여 시크릿키를 따로 빼낸다.
DEBUG=on
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
- .gitignore에 .env 파일을 추가한다.
[출처] 작정하고 장고! Django Pinterest 따라만들기 : 바닥부터 배포까지
섹션 1. Django Tutorial (5강 ~ 7강)
반응형
'프로그래밍 강의 > Django' 카테고리의 다른 글
[Django Study 04] Style and CSS (0) | 2022.04.13 |
---|---|
[Django Study 03] Django Template - extends, include로 HTML 만들기 (0) | 2022.04.12 |
[Django Study 01] Django Intro (0) | 2022.04.07 |
[Django Study 00] Django Study 시작 (0) | 2022.04.06 |
[Python 기초 복습 3] 함수 정의/클래스 (0) | 2022.03.31 |
Comments