본문 바로가기

Project/Shall We Django?

Shall We Django? [1]

포스팅 내용이 난잡할 예정이다. 하루에 여러 번 업로드될 수 있고, 사진 없이 텍스트로만 이루어지거나, 길이가 짧을지드 모르고, 별다른 내용이 담기지 않았을 수도 있다. 심지어는 잘못된 내용이 기재될 가능성도 있다.

 

일단은 진행하겠다.

 

 

1/ 가상환경

파이썬에서는 가상환경(virtual environment, venv)이라는 것을 제공한다. 자세한 작동 원리는 모르겠다.(1) 현재 이해하기로는 파이썬과 연동되는 패키지들만 따로 떼어 독립시켜 놓은 환경이다. 가상환경이 활성화되면, 파이썬 기본 기능에 대해서는 전역적인 경로를 참조하되, 패키지에 대해서는 전역적 경로가 아닌 가상환경이 설치된 경로의 패키지를 참조하게 된다. 즉, 프로젝트 별로 따로 패키지를 관리할 수 있게 된다.

 

이러한 가상환경은 패키지의 버전 변화에 따른 프로젝트에 대한 영향을 줄이고 특정 개발 조건을 다른 환경에서도 재현하기 위한 방법이라고 생각한다.

 

이번 프로젝트에서는 가상환경을 사용할 것이다. 다른 컴퓨터에서도 프로젝트를 이어서 진행할 가능성이 있어서다. 사용되는 패키지와 버전은 다음과 같다:

$ python -V
Python 3.9.13

$ pip list
Package           Version
----------------- -------
asgiref           3.7.2
Django            4.2.11
pip               22.0.4
setuptools        58.1.0
sqlparse          0.4.4
typing_extensions 4.10.0
tzdata            2024.1

 

 

2/ Django

위의 코드 블럭을 보면 알겠지만, 가상환경에 Django와 그 딸림 패키지들을 이미 설치한 상태다. shall이라는 프로젝트를 만들어보았다.

$ django-admin startproject shall

$ ls
shall/

 

shall 폴더 내부는 다음과 같다:

 

manage.py가 있는 디렉토리에서 다음 명령어를 사용하여 서버를 구동시킨다.

python manage.py runserver

 

그러면 다음과 같은 메시지들이 콘솔창에 떠오른다.

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
March 13, 2024 - 23:34:37
Django version 4.2.11, using settings 'shall.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

 

서버가 실행되는 동안 주어진 주소(http://127.0.0.1:8000/)(2)에 접속하면 다음과 같은 사이트를 볼 수 있다.

야호!

 

+/ 240313 더 나아가기

1) 시간을 촉박하게 잡은 만큼 여러 환경에서 작업을 이어가야 할 것으로 생각한다. 초반에는 .py 파일만 몇 개 옮기면 될 것 같지만 나중에는 아닐 것이다. Git 같은 형상 관리 도구를 사용해야 할 텐데, 내일 중으로 Github를 사용해보려고 한다.(이전까지는 Github를 제대로 사용해보지 않았다)

 

2) 자신을 위한 기록인지 타인을 위한 기록인지, 그 경계선을 잘 잡아야 하는 것 같다. 꾸밈이 많으면 늘어진다. 기록보다 진행이 중요한 순간이 있다. 그러나 기록하지 않는 것보다 못한 포스팅이지 않았으면 좋겠다. 아자아자 파이팅!

 

3) 최종 목표는 개인 위키의 뼈대를 만드는 것이다. 다음 목표는 나무위키나 Wikipedia의 특정 페이지를 재현해보는 것이다. 재현 과정에서 어떤 기능이 필요한지, 내가 어디까지 구현해볼지에 대해 가늠할 수 있을 듯하다.

 

 

*/ 이번 게시글에서의 질문 상자

(1) 가상환경의 자세한 작동 원리

(2) 로컬호스트(localhost)란 무엇인가?

 

'Project > Shall We Django?' 카테고리의 다른 글

Shall We Django? [4]  (0) 2024.03.20
Shall We Django? [3]  (0) 2024.03.17
Shall We Django? [2]  (2) 2024.03.14
Shall We Django? [0] - 시작하기에 앞서  (0) 2024.03.13