본문 바로가기

사이드 프로젝트/django

Django 로 게시판 만들기 1.가상환경에 장고 설치하기

개발환경:ubuntu20.04 lts

 

 

django를 활용해서 게시판을 만들어 보겠습니다. (해외 개발자 블로그 내용을 참고했습니다.)

[0. django의 개요]

 

제 경우는 파이썬으로 프로그래밍 언어를 접해서 찾아보니 장고라는 웹프레임워크를 알게 되었습니다. 

그리고 장고가 어느정도 틀을 다 갖춰놓아서 장고로 시작해야겠다는 생각을 했습니다.

 

웹 프레임워크가 뭘까?

 

웹 프레임워크는 다이나믹한 웹사이트를 개발하거나, 어플리케이션을 만들때 도움을 줍니다. 웹 개발시 자주 쓰는

필요한 기능들을 미리 구현해놓았고, 개발자는 원하는 요소들을 가져다 쓰면 되는 그런 개념입니다.

 

장고의 특징은 무엇일까?

 

1)오픈소스 라이브러리가 많다는 점 -> 다른 사람들이 만들어놓은 기능들을 손쉽게 쓸 수 있습니다.

이런 라이브러리들은 Python Package Index라는 저장소에 있습니다.

 

(향후 사용할 pip를 통한 django설치도 이곳에서 패키지 파일을 받아 다운로드 되는 방식입니다.)

 

pypi저장소에 있는 django 패키지

 

 

PyPI · The Python Package Index

The Python Package Index (PyPI) is a repository of software for the Python programming language.

pypi.org

2) 장고는 파이썬 프레임워크에서  유명합니다 -> 후원이 많아서 망할 가능성이 적으니 안심하고 쓸 수 있습니다.

 

3) 장고를 사용하게 되면 안전한 웹 어플리케이션을 빨리 올바른 방법으로 만들수 있습니다.

 


그럼 장고를 쓰는 기관이 어디인가?

Instagram, Disqus, Mozilla, Bitbucket, Last.fm, National Geographic.   

등이 있고 자세하게 알고 싶으면 아래 링크를 참고하면 됩니다.

 

https://djangostars.com/blog/10-popular-sites-made-on-django/

 

10 Popular Websites Built With Django

Check out the most popular websites – including YouTube, Pinterest, Instagram and other giants – built with Django.

djangostars.com

 https://www.djangosites.org 

 

Latest Additions at DjangoSites.org

DjangoSites Shiny websites, powered by Django

www.djangosites.org

장고의 소개는 이 정도로 하고 이제 설치를  해보겠습니다.


[1.가상환경 설치하기(virtual environment)]

가상환경이란?

개발을 하다보면 개발조건이 다 다릅니다. 예를 들어 어떤 프로젝트는 파이썬 2 버젼을 쓰고 어떤 프로젝트는 파이썬 3버전을 쓰는 경우 충돌이 일어날 수 있습니다.

 

그래서 가상환경을 쓰면 이러한 충돌없이 독립적인 개발환경을 만들어줍니다.

 

가상환경을 만드는 방법을 여러가지가 있겠지만, 저는 파이썬 pip를 통해서 가상환경을 만들어보겠습니다.


[1.1 파이썬 설치]

 

그래서 우선 파이썬을 컴퓨터에 설치해야 합니다. 

 

-우분투 16.04이거나 이전 버전인 경우

  ppa저장소를 통해 다운받아주시면 됩니다. (이렇게 터미널에 입력해서 설치하시고

sudo add-apt-repository ppa:deadsnakes/ppa

 

ppa에 관한 자료는 아래 포스팅에 있습니다.

 

https://seonghyuk.tistory.com/26

 

5.PPA란?

우분투 환경에 엔비디아 그래픽카드 드라이버 설정을 해주려고 설정을 찾아보니 드라이버를 설치하기 위해 repository를 추가하는 내용이 나오는데 $ sudo add-apt-repository ppa:graphics-drivers/ppa 이런 명.

seonghyuk.tistory.com

 

 

-16.04 이후 버전은 이렇게 설치하시면 됩니다.

 

sudo apt-get update
sudo apt-get install python3.7

 

파이썬 잘 설치되었는지를 학인하려면 python3 -V 로 확인할 수 있습니다.

 

$  python3 -V

 

 


[2.파이썬을 통한 가상환경 설치하기]

 

[2.1 pip3 설치하기]

 

그 다음으로 우리는 파이쎤 패키지들을 관리하는 pip를 설치할 것입니다.

 

$ sudo apt-get install python3-pip

 

터미널에 입력해줍니다.

 

[2.2 pip로 가상환경 설치해주기]

pip3 install virtualenv

 

그리고 나서 pip3 list 라고 입력하면 pip3로 설치된 패키지 목록들이 나옵니다.

 

$ pip3 list

 

virtualenv가 설치된 것을 확인할 수 있다.

 

[3.프로젝트 파일 생성하기]

이제 가상환경을 설치했으면 프로젝트 파일을 만들어줍니다. (여기서 저는 boardPj 라고 했습니다.)

 

 

이 폴더내에 가상환경과 장고 프로젝트 파일을 만들겠습니다. (다음과 같은 옵션을 참고해서 만들었습니다)

 

 

virtualenv 가상환경이름 -p python3.7

 

$ virtualenv boardVen -p python3.7

(전 여기서 환경이름은 boardVen으로 했습니다.)

 

 

 

그리고 가상환경을 작동시키려면   source  가상환경명/ bin/activate를 입력하면 됩니다. 그리고 가상환경 해체는 

deactivate라고 입력해주시면 됩니다.(제 가상환경명은 boardVenv)

 

$ source boardVen/bin/activate

 

base에서 가상환경인 baordVenv로 바뀐것을 확인할 수 있다.

 

 

이제 가상환경도 다 설치되었으니 django를 가상환경내에 설치해보겠습니다.


[4.django 설치하기]

이제 가상환경 안에서 pip로 장고를 설치해보겠습니다.(이때 가상환경이 activate 되있는 상태여야 한다)

 

pip3 install Django==3.0.8

 

django 설치

 

가상환경 해제는 deactivate 라는 명령어를 쓰면 됩니다.

 

deactivate

 

[가상환경에서의 pip3 리스트]

 

 

[가상환경 해제후 pip3리스트]

 

 

* 가상환경내에서만 django가 설치된 것을 확인할 수 있습니다.

 

[참고 블로그]

https://simpleisbetterthancomplex.com/series/beginners-guide/1.11/

 

A Complete Beginner's Guide to Django

A Django tutorial series for complete beginners. A comprehensive guide covering all the basic aspects of Django models, views, templates, testing, admin.

simpleisbetterthancomplex.com

https://medium.com/@dan_kim/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%B4%88%EC%8B%AC%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-pip-%EA%B7%B8%EB%A6%AC%EA%B3%A0-virtualenv-%EC%86%8C%EA%B0%9C-a53512fab3c2

 

파이썬 초심자를 위한 PIP 그리고 Virtualenv 소개

이 글은 A non-magical introduction to Pip and Virtualenv for Python beginners를 번역한 글입니다.

medium.com

https://virtualenv.pypa.io/en/latest/user_guide.html

 

User Guide — virtualenv 20.0.27.dev1+g16f80ac documentation

The first thing we need to be able to create a virtual environment is a python interpreter. This will describe to the tool what type of virtual environment you would like to create, think of it as: version, architecture, implementation. virtualenv being a

virtualenv.pypa.io