Visual Studio의 Python은 프로젝트 템플릿 및 다양한 프레임워크를 처리하도록 구성할 수 있는 디버그 시작 관리자를 통해 Bottle, Flask 및 Django 프레임워크에서 웹 프로젝트 개발을 지원합니다. 이러한 템플릿에는 필요한 종속성을 선언하는 requirements.txt 파일이 포함됩니다. 이러한 템플릿 중 하나에서 프로젝트를 만들 때 Visual Studio는 이 문서의 뒷부분에 있는 설치 요구 사항에 설명된 대로 종속 패키지를 설치하라는 메시지를 표시합니다.
피라미드와 같은 다른 프레임워크에 일반 웹 프로젝트 템플릿을 사용할 수도 있습니다. 이 경우 템플릿과 함께 프레임워크가 설치되지 않습니다. 대신 프로젝트에 사용 중인 환경에 필요한 패키지를 설치합니다. 자세한 내용은 Python 환경 창 - 패키지 탭을 참조하세요.
프로젝트 템플릿 옵션
도구 모음 메뉴에서새>파일> 프로젝트를 선택하여 템플릿에서프로젝트를 만듭니다. 새 프로젝트 만들기 대화 상자에서 템플릿 목록을 필터링하여 Python 웹 프로젝트에 사용할 수 있는 옵션을 확인할 수 있습니다. 검색 상자에 키 용어를 입력하거나 필터 드롭다운 메뉴를 사용하여 Python을 언어로 선택하고 웹을 프로젝트 유형으로 선택합니다.
템플릿을 선택한 후 프로젝트 및 솔루션의 이름을 제공하고 솔루션 디렉터리 및 Git 리포지토리에 대한 옵션을 설정합니다.
일반 웹 프로젝트 템플릿은 코드가 없는 빈 Visual Studio 프로젝트를 제공하며, Python 프로젝트임을 제외하고는 특별한 전제가 없습니다. 다른 템플릿은 Bottle, Flask 또는 Django 웹 프레임워크를 기반으로 하며 다음 섹션에 설명된 대로 세 가지 범주로 그룹화됩니다. 이러한 템플릿에서 만든 앱에는 앱을 로컬로 실행하고 디버그하기에 충분한 코드가 포함되어 있습니다. 또한 각 템플릿은 프로덕션 웹 서버에서 사용하기 위해 필요한 WSGI 앱 개체 (python.org)를 제공합니다.
빈 그룹
모든 빈 <프레임워크> 웹 프로젝트 템플릿은 최소한의 상용구 코드와 requirements.txt 파일에 선언된 필요한 종속성을 포함한 프로젝트를 생성합니다.
| Template | Description |
|---|---|
| 블랭크 보틀 웹 프로젝트 | app.py 파일에서 / 위치에 대한 홈 페이지와, <name> 값을 출력하는 페이지가 포함된 최소한의 앱을 생성합니다. 이 앱은 짧은 인라인 페이지 템플릿을 사용합니다. |
| 빈 Django 웹 프로젝트 | 핵심 Django 사이트 구조를 사용하지만 Django 앱이 없는 Django 프로젝트를 생성합니다. 자세한 내용은 Django 템플릿 및 Django학습 1단계를 참조하세요. |
| 빈 Flask 웹 프로젝트 |
/ 위치에 단일 "Hello World!" 페이지를 포함한 최소한의 앱을 생성합니다. 이 앱은 Visual Studio를 사용하여 첫 번째 Python 웹앱을 만드는 빠른 시작의 자세한 단계를 따른 결과와 유사합니다. 자세한 내용은 Flask 1단계 학습을 참조하세요. |
웹 그룹
모든 <프레임워크> 웹 프로젝트 템플릿은 선택한 프레임워크에 관계없이 동일한 디자인으로 시작 웹앱을 만듭니다. 앱에는 홈, 정보 및 연락처 페이지와 함께 부트스트랩을 사용하는 탐색 메뉴 모음 및 반응형 디자인이 있습니다. 각 앱은 정적 파일(CSS, JavaScript 및 글꼴)을 제공하도록 적절하게 구성되며 프레임워크에 적합한 페이지 템플릿 메커니즘을 사용합니다.
| Template | Description |
|---|---|
| 바틀 웹 프로젝트 | 정적 파일이 정 적 폴더에 포함되고 app.py 파일의 코드를 통해 처리되는 앱을 생성합니다. 개별 페이지에 대한 라우팅은 routes.py 파일에 포함되어 있습니다. 보기 폴더에는 페이지 템플릿이 포함되어 있습니다. |
| Django 웹 프로젝트 | 3페이지, 인증 지원 및 SQLite 데이터베이스(데이터 모델 없음)를 사용하여 Django 프로젝트 및 Django 앱을 생성합니다. 자세한 내용은 Django 템플릿 및Learn Django 4단계를 참조하세요. |
| Flask 웹 프로젝트 | 정적 파일이 정적 폴더에 포함된 앱을 생성합니다. views.py 파일의 코드는 템플릿 폴더에 포함된 Jinja 엔진을 사용하는 페이지 템플릿으로 라우팅을 처리합니다. runserver.py 파일은 시작 코드를 제공합니다. |
설치 요구 사항
프레임워크별 템플릿에서 프로젝트를 만들 때 Visual Studio는 pip를 사용하여 필요한 패키지를 설치하는 데 도움이 되는 대화 상자를 제공합니다. 웹 사이트를 게시할 때 올바른 종속성이 포함되도록 웹 프로젝트에 가상 환경을 사용하는 것이 좋습니다.
소스 제어를 사용하는 경우 requirements.txt파일만 사용하여 해당 환경을 다시 만들 수 있으므로 일반적으로 가상 환경 폴더를 생략합니다. 폴더를 제외하는 가장 좋은 방법은 먼저 직접 설치할 옵션을 선택한 다음, 가상 환경을 만들기 전에 자동 커밋을 사용하지 않도록 설정하는 것입니다 . 자세한 내용은 Django 학습 자습서 및 Flask 학습 자습서에서 Git 컨트롤 검사를 참조하세요.
Microsoft Azure App Service에 배포하는 경우 Python 버전을 사이트 확장 으로 선택하고 패키지를 수동으로 설치합니다. 또한 Azure App Service는 Visual Studio에서 배포할 때 requirements.txt 파일의 패키지를 자동으로 설치하지 않으므로aka.ms/PythonOnAppService 구성 세부 정보를 따릅니다.
디버깅 옵션
디버깅을 위해 웹 프로젝트를 열면 Visual Studio는 임의 포트에서 로컬 웹 서버를 시작하고 해당 주소 및 포트에 대한 기본 브라우저를 엽니다. 추가 옵션을 지정하려면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 속성 페이지에서 디버그 탭을 선택합니다.
프로젝트 디버깅을 위한 세 가지 공통 구성 옵션이 있습니다. 실행 그룹에는 다음 속성이 포함됩니다.
- 검색 경로, 스크립트 인수, 인터프리터 경로 및 인터프리터 인수 옵션은 일반 디버깅과 동일합니다.
-
시작 URL은 브라우저에서 열리는 URL을 지정합니다. 기본 위치는 입니다
localhost. -
포트 번호는 URL에 지정되지 않은 경우 사용할 포트를 식별합니다(Visual Studio는 기본적으로 자동으로 선택함). 이 설정을 사용하면 템플릿에서 로컬 디버그 서버가 수신 대기하는 포트를 구성하는 데 사용되는
SERVER_PORT환경 변수의 기본값을 재정의할 수 있습니다. -
환경 목록은 생성된 프로세스에서 설정할 변수를 정의합니다. 형식은 줄 바꿈으로 구분된
<NAME>=<VALUE>쌍 목록입니다.
서버 실행 명령 및 디버그 서버 명령 그룹의 속성은 웹 서버가 시작되는 방법을 결정합니다. 많은 프레임워크에서 현재 프로젝트 외부에서 스크립트를 사용해야 하므로 여기서 스크립트를 구성할 수 있으며 시작 모듈의 이름을 매개 변수로 전달할 수 있습니다.
-
명령은 Python 스크립트(*.py 파일), 모듈 이름(있는
python.exe -m module_name것처럼) 또는 코드의 한 줄(있는 것처럼python.exe -c "code")일 수 있습니다. 드롭다운 상자의 값은 의도된 형식을 나타냅니다. - 인수 목록은 명령 다음 명령줄에 전달됩니다.
- 다시, 환경 목록은 포트 번호 및 검색 경로와 같이 환경을 수정할 수 있는 모든 속성 후에 설정할 변수를 정의합니다. 이러한 변수 값은 다른 속성 값을 덮어쓸 수 있습니다.
모든 프로젝트 속성 또는 환경 변수는 MSBuild 구문(예: .)을 $(StartupFile) --port $(SERVER_PORT)사용하여 지정할 수 있습니다.
$(StartupFile) 는 시작 파일의 상대 경로이며 {StartupModule} 시작 파일의 가져올 수 있는 이름입니다.
$(SERVER_HOST)
$(SERVER_PORT) 은 시작 URL 및 포트 번호 속성, 자동으로 또는 환경 속성에 의해 설정되는 일반 환경 변수입니다.
비고
서버 실행 명령의 값은 디버그>시작 서버 명령 또는 바로 가기 키 Ctrl+F5와 함께 사용됩니다. 디버그 서버 명령 그룹의 값은 디버그 시작 디버그>서버 명령 또는 F5와 함께 사용됩니다.
샘플 병 구성
Bottle 웹 프로젝트 템플릿에는 필요한 구성을 수행하는 상용구 코드가 포함되어 있습니다. 가져온 Bottle 앱에는 이 코드가 포함되지 않을 수 있지만, 이 경우 다음 설정은 설치된 bottle 모듈을 사용하여 앱을 시작합니다.
서버 명령 그룹 실행 :
-
명령:
bottle(모듈) -
인수:
--bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app
-
명령:
서버 명령 그룹 디버그 :
-
명령:
bottle(모듈) -
인수
--debug --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app
-
명령:
디버깅에 Visual Studio를 사용하는 경우에는 이 --reload 옵션을 사용하지 않는 것이 좋습니다.
샘플 피라미드 구성
피라미드형 앱은 현재 명령줄 도구를 사용하여 만드는 것이 pcreate 가장 좋습니다. 앱을 만든 후에는 기존 Python 코드 템플릿을 사용하여 앱을 불러올 수 있습니다. 가져오기가 완료되면 일반 웹 프로젝트 사용자 지정을 선택하여 옵션을 구성합니다. 이러한 설정은 피라미드가 위치의 가상 환경에 설치되어 있다고 가정합니다 ..\env .
실행 그룹:
- 포트 번호: 6543(또는 .ini 파일에 구성된 항목)
서버 명령 그룹 실행 :
- 명령:
..\env\scripts\pserve-script.py(스크립트) - 인수:
Production.ini
- 명령:
서버 명령 그룹 디버그 :
- 명령:
..\env\scripts\pserve-script.py(스크립트) - 인수:
Development.ini
- 명령:
팁 (조언)
Pyramid 앱은 일반적으로 프로젝트 루트 아래에 있는 하나의 폴더이므로 프로젝트의 작업 디렉터리 속성을 구성해야 할 수 있습니다.
기타 구성
공유하려는 다른 프레임워크에 대한 설정이 있거나 다른 프레임워크에 대한 설정을 요청하려는 경우 GitHub에서 문제를 엽니다.