HJ_웹 맹글기

0706_준비

pea_Nut 2020. 7. 6. 15:18

Linux용 Windows 하위 시스템 설치

 

WSL 서버필요하니까

1. PowerShell 관리자 권한으로 실행해서 입력

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2. 가상 머신 플랫폼 옵기능 설정

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

3. Linux 배포 설치 (명령은 Linux 배포판(Windows 시작 메뉴에서 찾을 수 있음)을 열어서)

aka.ms/wslstore

4. 사용자 계정 및 암호 만들어야함 

ID: mobiyujin pw:학번

 

WSL과 Linux 배포판 설치 후

Linux 배포판을 열고 lsb_release -dc 명령을 사용하여 버전과 코드 이름을 확인함

-> 업데이트 주기적으로 하자 sudo apt update && sudo apt upgrade 명령

 

Visual Studio Code 설정

 

"VS Code를 사용하여 IntelliSense, Linting, 디버그 지원, 코드 조각  단위 테스트를 활용합니다. VS Code는 Linux용 Windows 하위 시스템과 원활하게 통합되어 코드 편집기와 명령줄 간에 원활한 워크플로를 설정할 수 있는 기본 제공 터미널을 제공하며, UI에 기본적으로 직접 제공되는 일반 Git 명령(add, commit, push, pull)을 사용하여 버전 제어를 위한 Git을 지원합니다."

 

$HOME/.vscode-server/extensions에 설치됨

--> WSL을 통합 개발 환경으로 사용하고, 호환성과 패치를 처리할 수 있음

 

 

새 프로젝트 만들기

1. Ubuntu 18.04 열기

작업할 폴더 만들고 이동하기

2. Python, pip 및 venc 설치

python3 --version

sudo apt update && sudo apt upgrade

sudo apt upgrade python3

sudo apt install python3-pip

sudo apt install python3-venv

 

3. 가상 환경 만들기

"Python 개발 프로젝트에는 가상 환경을 사용하는 것이 좋습니다. 가상 환경을 만들면 프로젝트 도구를 격리하고 버전이 다른 프로젝트의 도구와 충돌하지 않도록 방지할 수 있습니다. 예를 들어 Django 1.2 웹 프레임워크가 필요한 이전 웹 프로젝트를 유지 관리할 수 있지만, Django 2.2를 사용하면 흥미로운 새 프로젝트가 제공됩니다. 가상 환경 외부에서 Django를 전역적으로 업데이트하면 나중에 일부 버전 관리 문제가 발생할 수 있습니다. 가상 환경에서는 실수로 인한 버전 충돌 방지 외에도 관리자 권한 없이 패키지를 설치하고 관리할 수 있습니다."

 

HelloWorld 프로젝트 폴더 내에서 python3 -m venv .venv 명령을 사용하여 .venv라는 가상 환경을 만들자

활성화는 source .venv/bin/activate 비활성화는 deactivate

 

활성화 된 모습

"프로젝트를 만들려는 디렉터리 내에 가상 환경을 만드는 것이 좋습니다. 각 프로젝트에는 자체의 고유한 디렉터리가 있어야 하므로 각 디렉터리마다 고유한 가상 환경을 만듭니다. 이 경우 고유한 이름을 지정할 필요가 없습니다. Python 규칙에 따라 .venv 이름을 사용하는 것이 좋습니다. 프로젝트 디렉터리에 설치하면 pipenv와 같은 일부 도구에도 기본적으로 이 이름이 설정됩니다. .env는 환경 변수 정의 파일과 충돌하므로 사용하지 않으려고 합니다. 일반적으로 디렉터리가 있음을 지속적으로 알려주는 ls가 필요하지 않으므로 점으로 구분되지 않는 이름을 사용하지 않는 것이 좋습니다. 또한 .venv를 .gitignore 파일에 추가하는 것이 좋습니다. (GitHub의 Python용 기본 gitignore 템플릿을 참조하세요.) VS Code의 가상 환경 작업에 대한 자세한 내용은 VS Code에서 Python 환경 사용을 참조하세요."

4. WSL 창 열기

 

code .를 입력하여 Ubuntu 터미널에서 VS Code의 프로젝트 폴더를 열자

("."는 현재 폴더를 열도록 VS Code에 지시하는 것임)

현재 폴더를 열었음
[원격 연결 호스트]

Ubuntu 터미널을 닫고

Ctrl+` (백틱 문자 사용)을 누르거나 보기 > 터미널을 차례로 선택하여 VS Code에서 WSL 터미널을 열자.

그러면 Ubuntu 터미널에서 만든 프로젝트 폴더 경로에 열려 있는 Bash(WSL) 명령줄이 열린다.

5. Python 설치

 

WSL용 python 설치

 

"Python은 해석된 언어이며 다양한 유형의 인터프리터(Python2, Anaconda, PyPy 등)를 지원합니다. VS Code는 프로젝트와 연결되는 인터프리터를 기본값으로 설정해야 합니다. 변경해야 하는 이유가 있으면 VS Code 창의 아래쪽에 있는 파란색 표시줄에 현재 표시된 인터프리터를 선택하거나, 명령 팔레트(Ctrl+Shift+P)를 열고 Python: Select Interpreter(인터프리터 선택) 명령을 입력합니다. 그러면 현재 설치된 Python 인터프리터 목록이 표시됩니다. Python 환경 구성에 대해 자세히 알아보세요."

 

6. 테스트 해보기

touch test.py를 입력하여 Python 파일을 만들자

 

 

test.py 실행해보기

가상환경 종료 하기

 

 

Django 해보기

 

위에서 처럼 dir만들고 가상환경 생성 후 VS Code 실행하기

가상 환경 실행

1. 장고 설치하기

python3 -m pip install django 명령을 사용하여 Django를 가상 환경에 설치하자

python3 -m django --version을 입력하여 설치되었는지 확인할 수 있음

 

2. 장고 프로젝트 만들기

django-admin startproject web_project .

 

startproject 명령은 끝부분에 .를 사용하여 현재 폴더가 프로젝트 폴더라고 가정하고 그 안에 다음 파일들을 만든다.

  • manage.py: 프로젝트에 대한 Django 명령줄 관리 유틸리티입니다. python manage.py <command> [options]를 사용하여 프로젝트에 대한 관리 명령을 실행합니다.

  • 다음 파일이 포함되는 web_project라는 하위 폴더입니다.

    • __init__.py: 이 폴더가 Python 패키지임을 Python에 알려주는 빈 파일입니다.
    • wsgi.py: WSGI 호환 웹 서버에서 프로젝트를 제공하는 진입점입니다. 일반적으로 이 파일은 프로덕션 웹 서버에 대한 후크를 제공하므로 그대로 둡니다.
    • settings.py: Django 프로젝트에 대한 설정을 포함하며, 웹앱을 개발하는 과정에서 수정할 수 있습니다.
    • urls.py: Django 프로젝트의 목차를 포함하며, 개발 과정에서 수정할 수도 있습니다.

생성된 파일들

 

 

3. 프로젝트 확인

Django 프로젝트를 확인하려면 python3 manage.py runserver 명령을 사용하여 Django의 개발 서버를 시작하자.

서버는 기본 8000 포트에서 실행된다.  중지는 Ctrl+C  입력

"서버를 처음 실행하면 db.sqlite3 파일에 기본 SQLite 데이터베이스가 만들어집니다. 이 데이터베이스는 개발 목적으로 사용되지만 작은 웹앱의 프로덕션에서 사용할 수 있습니다. 또한 Django의 기본 제공 웹 서버는 로컬 개발 목적으로만 사용됩니다. 그러나 웹 호스트에 배포하는 경우 Django는 호스트의 웹 서버를 대신 사용합니다. Django 프로젝트의 wsgi.py 모듈은 프로덕션 서버에 대한 후크를 처리합니다."
"기본 8000 포트가 아닌 다른 포트를 사용하려면 명령줄에서 python3 manage.py runserver 5000과 같은 포트 번호를 지정합니다."

 

4. 장고 앱 만들기

관리 유틸리티의 startapp 명령을 실행

python3 manage.py startapp hello

"이 명령은 여러 코드 파일과 하나의 하위 폴더를 포함하는 hello라는 폴더를 만듭니다. 이 중에서 views.py(웹앱에서 페이지를 정의하는 함수 포함) 및 models.py(데이터 개체를 정의하는 클래스 포함)를 사용하는 경우가 많습니다. migrations 폴더는 Django의 관리 유틸리티에서 사용하여 이 자습서의 뒷부분에서 설명한 대로 데이터베이스 버전을 관리합니다. 또한 apps.py(애플리케이션 구성), admin.py(관리 인터페이스 만들기용) 및 tests.py(테스트용) 파일도 있습니다."

 

코드: 앱의 홈 페이지에 대한 단일 보기 만들기

hello/urls.py 파일을 만들자

urls.py 파일은 다양한 URL을 적절한 보기로 라우팅하는 패턴을 지정한다.

앱("")의 루트 URL을 방금 hello/views.py에 추가한 views.home 함수에 매핑하는 하나의 경로

 코드: URL 매핑

web_project 폴더에는 URL 라우팅을 실제로 처리하는 urls.py 파일도 포함되어 있다. 이 코드는 django.urls.include를 사용하여 앱의 hello/urls.py를 끌어와서 앱 내에 포함된 앱의 경로를 유지한다. 이 분리는 프로젝트에 여러 앱이 포함된 경우에 유용!

 

5. 결과 확인

 

python3 manage.py runserver를 사용하여 개발 서버를 실행하고, 브라우저를 http://127.0.0.1:8000/으로 열어 "Hello, Django"를 렌더링하는 페이지를 확인해보자

 

결과화면
가상 환경 종료!

 

 

 

 

 

 

https://docs.microsoft.com/ko-kr/windows/python/web-frameworks

 

Windows에서 Python을 사용한 웹 개발

Flask 및 Django와 같은 프레임워크 설정을 포함하여 Windows에서 웹 개발을 위해 Python 사용을 시작하는 방법입니다.

docs.microsoft.com