ACHO.pk devlog

[멋쟁이사자처럼10기] 가상환경 설정하고 Django 시작하기 본문

멋쟁이사자처럼

[멋쟁이사자처럼10기] 가상환경 설정하고 Django 시작하기

Acho 2022. 5. 23. 17:31

드디어 백엔드에 첫 발을 내딛는 순간이다. 

내가 추가적으로 공부할 때나 새로운 프로젝트를 진행할 때 이렇게 기록하는 것이 도움이 된다는 걸 잘 알기 때문에 귀찮더라도 꾸준히 기록하기 위해 노력하고 있다.

 

...작성하다가 다 날라가서 멘탈도 같이 터졌다...


가상환경 셋팅하기

나는 코드라이언에서 알려준 방법으로 가상환경이 세팅이 되지 않아 구글링을 통해 cmd 창으로 가상환경을 만들었다.

### cmd 창 ###

$ cd 폴더 경로
$ python -m venv 가상환경이름

myvenv 폴더 내부

 

django 설치하고 프로젝트 생성하기

 

vs code에서 가상환경 만든 폴더를 불러온 후, 터미널에서 django를 설치해준다!!

pip install django
django-admin startproject 프로젝트이름

pip freeze	#현재 우리의 작업공간에서 어떤 패키지들이 설치되어 있는지 확인하는 명령어

 

내가 설정한 이름으로 프로젝트가 만들어져있는 것을 확인할 수 있다.

프로젝트 생성


 

· __init__.py : 파이썬 내부에서 미리 약속된 파일로, 이 파일이 위치한 폴더가 패키지임을 알려준다.

 

 

· manage.py : 어떻게 실행시키고 활용할 지가 중요하다.

$ ls	#현재 디렉토리에 있는 폴더와 파일을 볼 수 있음
$ ls -a	#현재 디렉토리에 있는 숨긴 폴더까지 볼 수 있음

1. 서버 실행하기

 

우리가 만든 프로젝트 경로로 터미널을 실행한 후에 해당 명령어를 쓰자(가상환경 경로 터미널로 실행할 경우 에러 발생)

$ python manage.py runserver

ctrl + c : 서버끄기

서버 실행시키기
서버 실행 창

 

 

2. Application 만들기 :  여러 개의 application이 모여서 하나의 거대한 웹사이트를 만든다.

 $ python manage.py startapp application_이름

내가 만든 application

 

어플리케이션을 만든 후 등록을 할 땐 settings.py에 등록하기

settings.py에 내가 만든 어플리케이션을 등록해야한다.

 

위의 방법으로도 등록할 수 있지만, 내가 만든 application폴더 apps.py에 들어가서 class이름을 가져오는 방법도 있다.

INSTALLED_APPS={
	'dashboard.apps.DashboardConfig'
}

apps.py

 

3. DataBase 초기화 및 변경사항 반영

$ python manage.py migrate

db.sqlite3 : django에서 기본적으로 제공하는 DB

 

 

4. 관리자 계정 만들기

$ python manage.py createsuperuser

 

관리자 계정을 만든 후에 urls.py에 들어가면 관리자 페이지에 접근할 수 있다.

urls.py에서 관리자페이지 들어가는 방법

 

admin사이트에서 관리자 계정을 입력한다.
관리자 페이지로 이동하게 된다. 여기서 웹 서비스를 관리자로서 관리할 수 있다.

 

 

· settings.py : 코드 내부에서 각각의 항목을 아는 것이 중요하다.

 

    BASE_DIR : 프로젝트의 기본 위치

    SECRET_KEY: 해쉬를 생성할 때 만들어주는 문자열 (암호화_배포할 때 유출하면 안 됨)

    DEBUG = True : 서버를 어떻게 켤 지 결정하는 것. 개발자 모드나 배포용으로 서버를 켤 것인지 결정함

       -True : 개발자를 위한 많은 정보

       -False : 적은 정보

    INSTALLED_APPS : 생성한 application를 이 곳에 적어야 한다.

    DATABASES : 어떤 데이터베이스를 쓸 것인지, 그 데이터베이스의 위치는 어디인지 적어야 한다. 실제 데이터베이스와 연결해주는 플러그 역할이다.

    LANGUAGE_ZONE : django 디폴트 환경 언어

    TIME_ZONE : django 디폴트 환경 시간

    STATIC_URL :  우리의 웹서비스에 미리 준비한 static파일의 위치를 적는 곳

 

 

 

· urls.py : 각종 url를 등록하고 관리해주는 파일로, 어떤 url로부터 요청이 들어왔을 때 어떤 동작을 수행할 지 알려준다. url를 계층적으로 다룰 수 있다.

 

 

 

 

Django 개발 과정 알아보기

1. 가상환경 셋팅하기

2. django 설치하기

3. django 프로젝트 만들기 (실행 확인 ok)

4. django  application 만들고 등록하기

5. application 하위 목록에 templates 폴더 만들고 그 하위에 html 파일 만들기

 

6. 내가 만든 application 폴더 안에 views.py에서 어떤 요청이 들어올 경우 원하는 html파일을 보여주는 함수를 만들 수 있다. 함수 이름은 home이다. 

from django.shortcuts import render

# Create your views here.
def home(request):
	return render(request, 'index.html')

def test(request):
	return render(request, 'test.html')

 

7. 위에서 만든 home함수가 언제 실행될 지 urls.py에 정의해야 한다. 어떤 url에 요청이 들어왔을 때 어떤 함수를 실행시킬지 정의해야 한다는 것이다.

import dashboard.views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', dashboard.views.home, name = "Hello_world"),
    path('test/', dashboard.views.test, name = "Hello")
]

#http://127.0.0.1:8000/foo url에 대해 요청이 들어왔을 때 dashboard라는 application 폴더 안에 있는 views.py파일에 있는 home 함수를 실행시켜라

웹페이지 url확인

 

웹페이지 url확인

 

Comments