(python) anaconda + python + django 프로젝트 생성하기 [2]
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
(python) anaconda + python + django 프로젝트 생성하기 [2]
목차
django 란? django package 설치 django project 만들기 및 IDE에서 열기 django 서버 실행하기
목표
[1]에서는 anaconda 설치와 가상환경 생성/관리/삭제에 대하여 알아보았다. 이번 [2]에서는 django 를 설치하고 생성하며 프로젝트 구조와 서버 실행 방법을 알수 있다.
1. django 란?
django는 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크이다. 쉽고 빠르게 웹 사이트를 개발할 수 있도록 돕는 웹 프레임워크라고 보면 된다. 사용자 인증이나 관리자 기능을 제공함으로써 항상 웹 사이트를 만들때 번거러웠던 부분을 쉽게 해결할 수 있다.
또한 많은 파이썬 개발자에 의해 만들어 졌으며 Github 프로젝트와 StackOverflow의 질문 글들만 보아도 얼마나 인기가 많은지 짐작할 수 있다.
꾸준한 업데이트로 최신 문서를 제공하고 있으며 다른 클라이언트 쪽 프레임워크와도 유연하게 협업하여 개발할 수있다. 놓치기 쉬운 보안에 대해서도 많은 도움을 주며 (예를 들면 SQL 인젝션, cross-site 스크립팅, cross-site 요청 등... 같은 보안취약점을 보완할 방법을 기본적으로 제공) 디자인 패턴들을 이용하여 작성하기 때문에 유지보수가 쉽다는 장점들이 있다.
SQL 인젝션: 파라메터값에 명령문을 넣음으로써 실행하게 하는 공격 방법
cross-site 스크립팅: 웹사이트 관리자가 아닌 사람이 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점
cross-site 요청: 인터넷 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 만드는 공격
2. django package 설치
django 설치는 django 공식 문서를 참고하여 따라하도록 한다.
2.1 가상환경 실행하기
지난 글에서 만들었던 MytestProject 가상환경을 먼저 실행한다.
# 명령어 conda activate MytestProject
2.2 django package 설치하기
# 명령어 conda install Django==2.2.5
3. django project 만들기 및 IDE에서 열기
3.1 프로젝트 생성
# 프로젝트 생성 django-admin startproject MytestProject
3.2 IDE (pycharm) 에서 열기
3.1에서 생성한 프로젝트 폴더를 오픈한다. 프로젝트를 열면 아래와 같이 초기 파일들이 생성되어있는 것을 볼 수 있다.
3.3 APP 생성
프로젝트 내에서 내 앱을 생성한다.
# APP 생성 python3 manage.py startapp myapp
3.4 프로젝트 구조
3.2, 3.3 사진을 참고하여 django 프로젝트 구조를 설명한다.
MytestProject/ # 프로젝트 폴더 myapp/ # 어플리케이션 migrations/ # 모델을 수정할 때 마다 자동으로 데이터베이스를 업데이트하는 것을 가능하게 해줄 파일 폴더 __init__.py # 빈 파일, 이 파일은 Python에게 이 디렉토리를 하나의 Python 패키지로 다루도록 지시 admin.py # 관리자 사이트 설정 app.py # 애플리케이션 등록 설정 models.py tests.py views.py MytestProject/ # 웹사이트/프로젝트 관리자 폴더 __init__.py # 빈 파일, 이 파일은 Python에게 이 디렉토리를 하나의 Python 패키지로 다루도록 지시 settings.py # 사이트의 모든 설정을 포함. # 이 곳에는 우리가 만드는 어떤 application이라도 등록이 되는 곳이며, # static files의 위치, database 세부 설정 등이 들어감. urls.py # 사이트의 url - view의 연결을 지정. # 여기에는 모든 url 매핑 코드가 포함될 수 있지만, # 특정한 어플리케이션에 매핑의 일부를 할당해주는 것이 일반적임. wsgi.py # 장고 어플리케이션이 웹서버와 연결 및 소통하는 것을 도와줌. # 이것을 표준 형식(boilerplate)으로 다뤄도 무방. manage.py # 어플리케이션을 생성하고, 데이터베이스와 작업하고, # 그리고 개발 웹 서버를 시작하기 위해 사용됨.
4. django Server 실행하기
어느정도 프로젝트를 생성했다면 서버를 실행하여 제대로 되었는지 확인해본다.
# 서버 실행 python manage.py runserver 0.0.0.0:8000
마무리
다음 글에서는 application 등록하기, Database 설정하기, 프로젝트의 다른 설정, URL 매퍼 연결하기등 프로젝트의 상세 설정에 대해 알아보도록 한다.
from http://sihyeon-dev.tistory.com/7 by ccl(A) rewrite - 2020-03-06 05:54:22
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
댓글
댓글 쓰기