Language/Django

Django Ubuntu 환경 설정 및 개발 순서 정리

비비이잉 2024. 2. 15. 14:43
반응형

1. venv 라이브러리를 이용해 가상 환경을 만들어주고 activate 시킨 다음 장고를 설치해준다 

python -m venv 가상환경이름 

source ~/가상환경이름/.../.../activate  

pip install django==원하는 장고 버전

 

 

2. 프로젝트 생성

이 명령어를 입력하면 config 폴더가 자동으로 생성된다 

# 프로젝트 디렉토리로 이동 후 cd~

# activate 가 된 걸 확인 한 후 

django-admin startproject config .

 

이 때, 에러가 뜨면 

필자의 에러는 두개 였는데 해결 방법은, 우분투에서의 python -V 버전과 1번에서 python -m venv 가상환경이름 이 명령어로 가상환경을 만들어 줄때의 파이썬 버전이 상이했기 때문에 나타나는 문제였다. 두 개의 파이썬 버전을 하나로 통일해야 제대로 설치가 되고 서버도 띄울 수 있다

 

 

1) couldn't import django. are you sure it's installed and available on your pythonpath environment variable? did you forget to activate a virtual environment?

 

2) could not install packages due to environment error

 

3. 개발 서버를 구동시키자 

# 프로젝트 경로로 이동한 후

python manage.py runserver 

# 특정 포트 번호를 지정하고 싶을 때에는 
ptyhon manage.py runserver 원하는포트번호

 

4. config/settings.py 

변경시켜줌 

LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'

 

5. 앱 생성하기 

# 원하는 프로젝트 경로에서 

django-admin startapp 원하는앱이름

 

이렇게 하면 아까 config폴더가 생성된 동일한 위치에 [원하는앱이름] 이름의 폴더가 생성이 된다 

 

6. config/urls.py -> 라우터라고 생각하면 될듯 

2번방법으로 하면 앱이름/ 으로 시작하는 요청은 config/urls.py  파일이 아닌 앱이름/urls.py파일을 통해서 처리하게 됨 

#~~config/urls.py 의 urlpatterns 에 
#1번방법
from django.urls import 
from 아까생성한앱이름 import views 
path('원하는경로/', views.index)

#2번방법

from django.urls import, include
from 아까생성한앱이름 import views

path('원하는경로/', include('앱이름.urls')),

 

7. 앱이름/views.py 

from django.http import HttpResponse

def index(request):
	reutrn HTTPResponse("안녕하세요 블라블라")

 

 

 장고 개발 흐름 요약 

 

화면    ------->    urls.py -----> views.py (이 두개가 로컬 서버이다)  ----> 다시 화면 

circle 구조 

 

웹 브라우저 주소창에 localhost:포트번호/앱이름 을 입력하면 

config/urls.py 파일에서 URL을 해석해서 앱이름/views.py 파일의 index함수를 호출 

앱이름/view.py 파일의 index함수를 실행해서 함수 실행 결과를 웹 브라우저에 전달 

 

서버 실행 시 나오는 경고메시지 

1) You have 18 unapplied migrations 

- admin, auth, contenttypes, sessions 앱과 관련된 내용이며 python manage.py migrate를 실행하면 확인 할 수 있음 

 

 

반응형