Configuración VPS y despliegue web con Ubuntu, Django, Nginx y Postgresql (English subtitles)

모두에게 인사합니다 저는 Frank Mascarell입니다

이 비디오는 원래 용도로만 만든 비디오입니다 VPS를 재구성해야 할 때 상담 할 수있었습니다 많은 단계가 필요하기 때문에 누군가가 유용 할 수 있다면 공유하는 것에 대해 생각했습니다 음, 먼저 낮은 음질로 사과드립니다 편집했지만 에코가 있지만 더 이상 수행 할 수 없습니다

마이크로가 나빠 테스트를 위해 샀습니다 비디오 제작에 전념하려는 것이 아닙니다 그러나 그것은 그 목적을 달성 할 것입니다 이 모든 것을 말하면서 나는 주제에 갈 것입니다 나는 빨리 준비했다 방법에 대한 일반적인 아이디어를 보여주는 그래픽 VPS를 구성 할 수 있습니다

Digital Ocean 서비스를 기반으로 아주 좋고 경제적입니다 VPS가 계약되면 우리는 VPS로 나눌 수 있습니다 예를 들어 개별 및 자율 공간 우리는 봉사 할 공간을 구성 할 수 있습니다 동적 웹 페이지, 다른 공간이있는 다른 공간 웹 페이지 및 정적 데이터 저장소로 DO는이 공간을 물방울이라고 부릅니다 바다에 많은 "방울"이 있다는 비유로 말입니다 이 이미지 예에는 두 개의 물방울이있는 VPS가 있습니다 액적 런던은 OS로 설치되었습니다 우분투 16

04 및 글로벌 패키지 Pip, postgres, virtualenv 및 PyFilter 동시에이 방울에는 로컬 패키지가 설치된 두 개의 가상 환경 다른 버전과 django의 웹 애플리케이션, 격리 된 환경에서 새 버전을 테스트하는 데 유용합니다 독립 또는 가상 환경 이전 버전은 유지하지만 기능은 유지합니다 물방울 암스테르담에는 정확히 포함되어 있습니다 가상 환경이 하나 뿐이지 만 동일합니다 이러한 접근 방식을 염두에두고 추론 할 수 있습니다 우리가 달성 할 수있는 뛰어난 확장 성 예를 들어 동일한 웹 페이지를 다른 방울과 다음로드를 사용 트래픽을 직접 전달하는 밸런서 예를 들어 우리의 편의에 따라 런던 서버에 너무 많은 경우 요청을 서버로 리디렉션 할 수 있습니다 암스테르담은 두 서버 사이의 부하를 공유합니다

이 모든 것을 준비하기 위해 시나리오를 썼습니다 이 비디오에서 내가 할 일에 대해 설명을하겠습니다 우리가 쉘에서 코드를 클릭하는 동안 모든 단계 원하는 경우 비디오를 일시 중지하고 살펴보십시오 아래에 필요한 링크를 남겨 두겠습니다 대부분은 Digital Ocean 문서에 있습니다 PuTTY는 작은 응용 프로그램입니다 SSH 인증을 통해 서버에 하나의 공개 키와 하나의 키로 구성 암호화 된 데이터 전송

SSH는 현재 가장 안전한 시스템입니다 최신 버전의 PuTTY를 다운로드하십시오 PuTTYgen 및 Pageant도 설치하는 msi 패키지 Windows에 PuTTY를 설치 한 후 PuTTygen으로 키 쌍을 생성하고 저장합니다 이렇게하려면 기본 키 유형 (RSA 2048)을 그대로 두십시오

생성을 누르고 커서를 공간 위로 이동하십시오 키가 생성 될 때까지 비 웁니다 공개 키와 개인 키를 유지하고 이 마지막 문장에서 우리는 비밀 문구없이 그것을 유지하고 싶다면 경고합니다 일부 자동 서비스 때문에 넣지 않는 것이 좋습니다 DO의 비밀 문구를 입력 할 수 없습니다 적절한 인증을 위해 또 다른 설명; 물방울이 우분투를 설치했을 때 차례로 OpenSSH를 통합했으며 PuTTY 형식과 다른 공개 키 형식 DO 계정에 업로드하려면 PuTTYgen에서 공개 키를 복사해야합니다 PuTTY가 사용하는 형식의

txt 파일이 아닙니다 PuTTY를 닫은 경우 공개 키를 복사하기위한 개인 키 이제 드롭 릿을 등록하고 만들 차례입니다 계정에 보안을 강화하기위한 2 단계 인증을 권장합니다 테스트를 위해 지금은 비활성화 할 것이므로 기다릴 필요가 없습니다

당신이 입력 할 때마다 모바일 메시지에 복사하여 붙여 넣기하여 SSH 키를 추가합니다 PuTTYgen에서 공개 키를 복사해야합니다 확장자가 txt 인 파일이 아닙니다

액 적을 만들기 위해 패널 내에서 최신 LTS 버전의 Ubuntu를 OS로 선택하겠습니다 현재는 1804입니다 LTS 또는 장기 지원 버전 2 년마다 릴리스되고 5 년 동안 지원을 제공합니다 생산에 가장 권장됩니다

이미지에서는 변경되지 않은 것으로 보입니다 그러나 내부적으로는 그렇습니다 그런 다음 확인하겠습니다 이제 액 적에 가장 작은 크기를 선택합니다 테스트를위한 것이기 때문에 런던이 될 데이터 센터의 스페인과 가장 가까운 이론적으로 낮은 대기 시간, 즉 일반적으로 시간 서버가 이후에 우리에게 답변을 제공하는 데 걸리는 웹 서비스와 같은 요청을 보냅니다

계정에서 이전에 생성 한 SSH 키를 포함합니다 새 호스트에 이름을 넣습니다 물방울을 만든 후 속성이 어떻게되는지 보자 우리는 오른쪽에 IP 주소를 가지고 있습니다 서버 구성에서 대부분의 작업

보시다시피 올바른 Ubuntu 버전으로 생성되었습니다 PuTTY를 사용하여 액 적에 연결합니다 아주 간단합니다 먼저 액 적의 IP 주소를 여기에 넣습니다 SSH 인증 섹션으로 이동하여 DO 계정에 추가 할 때 사용하는 것과 동일한 개인 키

터미널 모양을 구성 할 수도 있습니다 내가 한 것처럼 텍스트의 글꼴과 색상을 변경하십시오 일단 우리가 원하는대로 모든 것을 구성하면 세션의 새 이름을 삽입하고 저장합니다 나중에 우리는 빨리 연결할 수 있습니다 세션 이름을 두 번 클릭하십시오 터미널이나 쉘을 열면 우리는 액세스 할 루트 사용자로 로그인 모든 권한으로 서버에 루트 사용자와 일상적으로 작업하는 것은 권장되지 않습니다

어떤 명령에서는 잘못 될 위험이 있기 때문에 우리는 일부 파일이나 더 나쁜 것을 삭제할 수 있습니다 일반적으로 권한이있는 다른 사용자를 만드는 것입니다 우분투가 기본적으로 제공하는 최소값 예를 들어 패키지를 설치해야 할 때 원칙적으로 루트 사용자 만이 할 수 있습니다 우리는 이제 보게 될 sudo 명령을 사용할 것입니다 루트로 로그인 할 때 알 수 있듯이 우리는 암호를 요구하지 않습니다 PuTTY에서 SSH를 통해 연결 그는 첫 번째 줄에 그것을 지정합니다 서버가 저장된 공개 키를 사용하고 있음을 나타냅니다

다음 단계는 최소한의 권한으로 다른 사용자를 만드는 것입니다 비밀번호 및 기타 선택적 정보를 요청합니다 이제 우분투에게 사용자 솔직하다고 말할 수 있습니다 루트 권한으로 명령을 실행할 수 있습니다 명령에 sudo 명령을 넣습니다

우리는 모든 패키지를 확인할 수 있습니다 apt 목록을 통해 시스템을 설치했습니다 이제 우분투에서 사용할 수있는 패키지 목록을 업데이트하겠습니다 sudo apt 업데이트 및 모든 패키지 업데이트 sudo apt 업그레이드를 사용하여 설치되었습니다 중요한 설명; 액 적을 만들 때 내장 된 SSH 키로 서버에 알려줍니다 비밀번호를 사용하는 인증은 인정하지 않으며 SSH 만 사용합니다 사용자 프랭크를 만든 후 일부는 PuTTY를 사용하여 연결하고 frank로 로그인 이전에 제공된 비밀번호를 입력하십시오

이것은 작동하지 않으며 서버는 거부합니다 논리적으로, 우리는 해커가 공격하는 것을 원하지 않습니다 파괴하기 쉬운 인증 시스템 암호 인증을 활성화 할 수 있습니다 DO 제어판이지만 권장하지 않습니다 사용자 솔직한 입장은 먼저 root로 로그인 한 다음 frank로 전환하십시오 su-frank 명령을 사용하면 우리는 관리자에게 암호를 요구하기 때문에 암호를 요구하지 않습니다 모든 권한을 가진 서버의 암호는 필요하지 않습니다

다른 사용자 그러나 로그인하면 루트 사용자가 아닌 다른 사용자와 마찬가지로 시스템이 자동으로 비활성화 할 수 있습니다 일정 기간 동안 사용하지 않으면 안전을위한 것입니다 이 경우 해당 사용자의 비밀번호를 묻습니다 다른 때는 물론 안전을 위해서 우분투는 예를 들어 비밀번호를 묻습니다

중요한 명령을 실행할 때 패키지 설치 방법 이제 우분투에 포함 된 기본 방화벽을 구성하겠습니다 기본적으로 비활성화되어 있습니다 ufw status를 입력하여이를 확인할 수 있습니다 보시다시피 방화벽에 대한 액세스는 루트 사용자 만 사용할 수 있습니다

그래서 우리는 그에게 sudo를 말해야 할 것입니다 방화벽이 비활성화되었습니다 활성화하기 전에 허용 할 규칙을 추가합니다 Ubuntu에 통합 된 OpenSSH를 통한 SSH 연결 이 유형의 연결 관리를 담당합니다 이제 방화벽을 활성화 할 수 있습니다 자신을 막을 위험이 없습니다 우리는 다시 확인하고 그들이 추가되었는지 확인 OpenSSH에 대한 두 가지 규칙

우분투 패키지 목록에서 pip3을 설치합니다 어떤 이유로 든 마지막 버전이 아닌 버전 9를 설치하지만 우리는 약간의 트릭을 할 것입니다 설치하려고하기 때문에 루트 사용자 내부에 머무를 것입니다 파이썬에 필요한 일부 패키지 pip 패키지 관리자를 사용하여 설치했습니다 이미 설치했기 때문에 그렇게하지 않을 것입니다

이제 freeze로 설치된 모든 python 패키지를 나열 할 수 있습니다 액 적을 만들 때 설치된 패키지입니다 그런 다음 pip-review를 설치하여 우리를 도울 것입니다 모든 적중 패키지를 업데이트하십시오 대화식으로하는 방법입니다 패키지를 하나씩 검토 할 수 있습니다

이미 업데이트했지만 여전히 표시됩니다 여전히 업데이트 될 패키지 다른 패키지와의 종속성이 있다고해서 업데이트되지는 않습니다 pip3 check로 깨진 패키지가 없는지 확인할 수 있습니다 다음 단계는 PyFilter를 설치하는 것입니다 SSH 공격으로부터 보호합니다 우리는 솔직한 사용자로부터이 패키지를 설치할 것입니다

클라우드에서 자식 저장소 복제 이 첫 단계는 이미 보여 드렸습니다 그러나 나는 그들을 실행하지 않을 것입니다 그런 다음 생성 된 PyFilter 폴더를 usr / local로 이동합니다 우리는이 폴더로 가서 내부에 다른 폴더가 있습니다 configdefault

json 파일이있는 Config 우리는 사본을 수정할 것이므로 사본을 만들 것입니다 Config 폴더에 들어가면 두 개의 파일이 나타납니다 사본과 원본 PyFilter 폴더로 돌아갑니다 내부에는 run

sh 파일이 있습니다 이것은 PyFilter의 실행 파일이며 권한을 부여하고 실행할 것입니다 제대로 작동하는 것으로 확인되면 PyFilter에 대한 서비스를 만듭니다 우리는 PyFilter 폴더로 돌아갑니다 서비스를 작성하고 사용 가능하게하는 install

sh 파일 시스템의 시작 부분에서 실행합니다 상태를 확인하면 서비스가 올바르게 작동하는 것을 볼 수 있습니다 다음 단계는 선택 사항입니다 루트에서 패키지를 설치하겠습니다 PyFilter는 또한 공격의 위치를 ​​기록합니다

PyFilter가 패키지를 인식하도록 다시 시작하십시오 PyFilter의 Config 폴더 안에는 블랙리스트가 있습니다 PyFilter가 무기한 차단 한 IP 중 PyFilter는 기본적으로 IP를 차단하도록 구성되어 있습니다 5 초 이내에 시도가 실패한 경우 대부분 로봇이 될 것입니다 이것은 여기에서 감지되었습니다 PyFilter는 iptables 방화벽에 적절한 규칙을 추가합니다

Postgres를 엔진으로 설치 및 구성합니다 장고 데이터베이스를 권장합니다 기본적으로 postgres는 원격 연결을 허용하지 않습니다 프로젝트에 필요하지 않습니다 Nginx 서버를 통해 DB에 연결하므로 장고 응용 프로그램이므로 필요하지 않습니다 postgres에 의한 보호가 없습니다

패키지 인덱스를 업데이트하고 확인합니다 업데이트 및 업데이트가 필요한 패키지 우리는 postgres를 설치합니다 콘솔을 통해 콘솔에 액세스 할 수 있는지 확인합니다 기본 사용자 postgres의 솔직한 사용자에 대한 수퍼 유저 권한이있는 새로운 역할을 만들었습니다 마지막으로 LibrosWeb이라는 DB를 만듭니다

로컬 테스트 프로젝트의 DB와 동일한 이름을 갖도록 문제없이 연결할 수 있는지 확인합니다 이것이 우리가 DB로 할 모든 일이 될 것입니다 나중에 로컬 장고 프로젝트가 서버에 업로드되면 DB 마이그레이션을 자동으로 수행합니다 모든 테이블과 레코드와 함께 가상 환경을 관리하는 데 필요한 패키지를 설치하고 첫 번째의 확장 인 virtualenv 및 virtualenvwrapper는 그리고 더 실용적인 새로운 명령으로 동일하게 수행됩니다

자동으로도 자동으로 가상화 virtualenv 및 기타 필요한 패키지를 설치합니다 우분투 패키지 관리자에서 설치하겠습니다 pip3에서 설치하면 제대로 작동하도록 일부 파일을 수정하려면 이런 식으로 필요하지 않습니다 이미 설치했습니다 이제 보안 사용자를 변경할 수 있습니다 mkvirtualenv 및 환경 이름으로 가상 환경을 작성합니다

동시에 생성 및 활성화됩니다 보시다시피, 실행 파일이있는 가상 환경이 생성되었습니다 파이썬의 버전을 나타내지 않으면 시스템과 동일한 시스템을 설치합니다 (이 경우 365) 환경 내에 다른 패키지를 설치할 수 있도록 pip를 설치했습니다

예를 들어 장고는 다음에 설치할 것입니다 이제 환경 "envDjango20"이 활성화되었으며 프롬프트에서 알려줍니다 중요한 설명; 활성화 된 가상 환경 내 pip3가 아닌 pip로 패키지를 설치합니다 환경 내에 패키지가 설치되어 있지 않다는 것을 알 수 있습니다 시스템과 독립적이기 때문에 예상대로

"workon"을 통해 사용 가능한 가상 환경을 나열합니다 그런 다음 환경에 django를 설치하지만 먼저 장고 프로젝트를 LibrosWeb이라고하는 폴더입니다 패키지를 설치하려면 환경을 활성화해야합니다 그렇지 않으면 전 세계 시스템에 설치하고 우리가 원하는 것이 아니라 별도의 가상 환경을 원합니다 Django 또는 Python의 각 버전에 대해 최신 버전이 설치 될 것이라고 말하지 않으면 현재 2

06입니다 다음으로 방화벽에 규칙을 추가합니다 django 웹 서버가 사용하는 포트 8000을 엽니 다 startproject로 장고 프로젝트를 만들겠습니다 LibrosWeb 폴더 안에 있습니다

프로젝트 이름으로 다른 폴더를 만듭니다 이 안에는 managepy 파일이 있습니다 나머지 파일이있는 다른 LibrosWeb 폴더 우리는 settingspy를 수정할 것입니다

나노 텍스트 편집기를 사용하겠습니다 허용 된 호스트에 VPS의 IP 주소를 추가하는 것보다 Django의 또 다른 중요한 권장 사항은 암호화하는 데 사용되는 비밀 키를 저장하는 것입니다 프로덕션 데이터 전송 환경 변수에서 이를 위해 bash_profile 파일에 명령을 추가합니다

사용자 Frank로 로그인 할 때마다 변수를로드하십시오 그런 다음 사용자를 다시 시작하여 bash_profile을 다시 실행하십시오 SECRET_KEY를 읽도록 settingspy 파일을 수정하십시오

방금 만든 환경 변수에서 마지막으로 runserver를 사용하여 django 웹 서버를 시작했습니다 응용 프로그램을 테스트합니다 이제 브라우저 클라이언트에서 액세스 할 수 있습니다 장고의 응용에 다음 단계는 DB LibrosWeb을 연결하는 것입니다 장고 응용 프로그램과 함께 frank의 역할을 위해 django가 권장하는 몇 가지 구성을 적용 할 것입니다

postgres 사용자로 연결하고 다음 사용자를 수정합니다 솔직한 역할의 속성 그런 다음 가상 환경을 활성화하여 다른 패키지를 설치합니다 django는 postgres에 연결해야합니다 이제 settingspy 파일을 편집하여 매개 변수를 알려줍니다

연결해야 할 DB의 createuser 명령으로 솔직한 역할을 만들었을 때 프랭크로 로그인 한 이후로 비밀번호를 묻지 않았습니다 그는 자동으로 하나를 만들었습니다 settingspy에 넣은 것과 같은 것을 넣습니다 이제 장고에서 마이그레이션 할 수 있습니다 postgres에 대한 올바른 DB의 구조

그런 다음 django 애플리케이션에 대한 관리 수퍼 유저를 작성했습니다 서버를 시작하여 응용 프로그램을 테스트합니다 브라우저의 IP 주소 끝에 / admin을 추가하면 우리는 응용 프로그램의 관리 인터페이스를 입력합니다 django를 위해 만든 수퍼 유저로 로그인합니다 따라서 우리는 DB에 대한 모든 액세스 권한을 가지게되는데, 이제는 비어 있습니다 테이블이나 레코드는없고 골격 만 있습니다

지금까지 기본적으로 서버를 구성했습니다 django를 테스트 모드에서 안전하게 사용할 수 있습니다 장고에 통합 된 웹 서버는 매우 좋습니다 웹 사이트의 테스트를 수행하기 위해 그러나 생산을 위해서는보다 강력하고 안전한 웹 서버가 필요합니다 잘 알려진 아파치 (Apache) 또는 소설 응 닉스 (Ngnix)와 같이 처음부터 자리를 잡았습니다 필자의 경우 Nginx를 사용하고 설치하고 구성합니다 이것은 다음 단계입니다

하지만 먼저이 구성에서 단락을 만들고 싶습니다 관리 웹 사이트에 더 많은 보안을 추가하고 싶습니다 회사 관리자가 DB에 액세스하는 데 사용할 웹 페이지 처음에는 관리 웹이 인터넷을 통해 구현됩니다 액세스하려면 컴퓨터에서 브라우저를 열고 준비된 URL을 입력하고 인증의 첫 페이지를 입력합니다 사용자 이름과 비밀번호를 묻습니다

두 단계로 인증을 추가 할 수도 있습니다 두 번째 단계는 모바일에 코드를 전송하는 것입니다 로그인 과정에 넣고 https 프로토콜을 사용하여 연결되면 SSH 암호화 및 인증서를 통해 안전하게 연결됩니다 우리가 문을 열어도 이것은 안전합니다 해커 나 로봇이 무차별 적으로 암호를 해독하려고 시도합니다 회사 데이터베이스에 액세스 할 수 있습니다 따라서 배경 아이디어는 다음과 같습니다

관리자 PuTTY-SSH를 사용하여 서버에 직접 연결합니다 서버가이 관리자가 연결되었음을 감지하면 다음 작업을 수행하는 스크립트 : 먼저 가상 환경을 활성화하고 두 번째는 시작합니다 runserver를 사용하는 django 웹 서버 마지막으로 Chrome 브라우저를 원격으로 실행하십시오 즉, 관리자 팀에서 관리 웹 페이지를 엽니 다 이런 식으로 SSH + 사용자 및 비밀번호 인증을받습니다 더 많은 컬을 말리려면 더 많은 보안을 추가하십시오 관리자가 쉽게 할 수 있도록 서버 나 응용 프로그램에 대한 컴퓨터 경험이 없다고 가정하면, 펜 드라이브를 만들어 키 체인에 가져갈 수있는 것이 이상적입니다

펜 드라이브 만 랩탑이나 모바일에 연결하면됩니다 관리 웹 사이트에서 자동으로 브라우저를 엽니 다 Es menos 가능한 perder o que te roben las llaves de casa, 노트북이나 모바일보다 개인 키가 후자 중 하나에없는 것이 좋습니다 그러나 여전히 고객이 펜 드라이브를 휴대하지 않으려는 경우 랩톱을 연결하여 사용하고 해킹 위험을 감수하십시오 개인 키를 훔친 다음 프로세스를 지금 할 때와 똑같습니다 유일한 차이점은 전체 구현이 USB 대신 컴퓨터에서

가장 먼저해야 할 일은 사용자의 SSH 구성을 변경하는 것입니다 sshd_config 파일을 수정하면 포트 22가 변경됩니다 이것이 기본값이며 우리는 다른 것을 넣습니다 X11 사용을 활성화 한 후 저장하고 다시 시작합니다 sshd 서비스 이제 Xming을 다운로드하여 Windows에 설치합니다 ssh 포트의 방화벽에 권한을 부여하십시오

관리 사용자를 만들고 앞으로 작업 할 것입니다 이 사용자를 위해 몇 개의 키를 만들어 보관했습니다 우리는 공개 키를 authorized_keys에 넣었습니다 그런 다음 모든 데이터로 새 세션을 만들었습니다 해당 섹션에서 X11을 활성화하십시오

이제 크롬을 시작하여 모든 것이 정상인지 테스트 할 수 있습니다 브라우저가 컴퓨터에서 열립니다 우리는 계속해서 새로운 사용자를 구성하고 솔직히했던 것과 동일한 애플리케이션으로 가상 환경을 만들었습니다 또한 WebWeb 테스트 프로젝트를 복사합니다 Windows에서 Xming을 시작하고 google-chrome을 원격으로 테스트했습니다

크롬이 필요하기 때문에 오류가 발생합니다 서버에없는 GPU의 일부 기능 중 그러나 잘 작동합니다 다음은 사용자의 bashrc를 변경하여 프로세스를 자동화하는 것입니다 연결할 때 가상 환경이 활성화되도록 그런 다음 3 개의 하위 프로세스를 사용하여 Python 스크립트를 작성했습니다 첫 번째 교황은 비동기식이며 완료를 기다리지 않습니다 다음 명령을 실행하려면 django 웹 서버가 항상 실행 중이기 때문에

두 번째는 원하는 지정된 URL로 크롬을 엽니 다 논리적 인 것은 로그인 창에서 여는 것입니다 이것은 완료되기를 기다리는 실행 스레드입니다 프로세스를 죽이는 것에 관한 다음 명령을 실행하는 것 장고 서버를 시작한 연결을 닫은 후에도 계속 실행되지 않습니다 마지막으로 퍼티와 연결할 때 브라우저가 마침내 열립니다

이제 우리는이 자동화를 pendrive에 구현할 것입니다 이를 위해 우리는 퍼티 포터블을 시작하는 pendrive에 autoruninf 파일이 필요합니다 Windows 7 버전부터 프로그램이 자동으로 자동 실행될 가능성을 비활성화했습니다 보안상의 이유로 설치해야합니다 연결할 때 장치를 모니터링하는 작은 프로그램 APO USB 자동 실행과 같은 먼저 우리는 pendrive에 퍼티 포터블을 다운로드하여 설치합니다

루트 디렉토리에 설치하는 것이 중요합니다 그렇지 않으면 작동하지 않습니다 우리는 그것을 시작했고 실질적으로 동일한 세션을 만들고 저장했습니다 창문에 퍼티를 설치하고 유일한 변형은 개인 키가 pendrive 자체에 있다는 것입니다 하드 드라이브가 아닙니다 그런 다음 autorun

inf 파일을 생성하여 셸에서 실행되도록합니다 퍼티가 세션의 매개 변수를 전달하기 시작하는 명령 이전에 저장 한 관리자 중 마지막으로 APO USB 자동 실행을 설치 한 후 Windows 시작 폴더에 배치합니다 Windows가 시작될 때 둘 다 시작되도록 Xming과 함께 모든 것이 잘되고 두 프로그램이 진행 중이라면 이제 우리는 모든 것을 시작할 수 있도록 pendrive를 소개 할 수 있습니다 우리는 다른 사람들이 부르듯이 EN-gin-ex 또는 EN-gai-nex를 계속 사용합니다 프로덕션 환경에서 작동하는 최종 웹 서버가됩니다 테스트 용으로 만 사용되는 django 웹 서버는 생략하겠습니다

Nginx가 Gunicorn에 요청을 보내려면 우리는 시작할 유닉스 소켓을 통해 그것을 할 것입니다 시작과 함께 때까지 듣고 계속 요청을 받으면 gunicorn으로 보냅니다 시스템 업데이트를 시작하겠습니다 우리는 nginx를 설치하고 컬합니다 컬은 Nginx와의 연결을 테스트하는 데 도움이되는 유틸리티입니다 또한 pip-review를 설치하고 pip를 업데이트합니다

그것은 그것이 구식이라고 우리에게 말하고 있습니다 장고도 업데이트하겠습니다 다른 패키지는 오래된 패키지입니다 django 테스트 서버를보다 편안하게 시작하기 위해 별칭을 만들 것입니다 마지막으로 환경에 gunicorn을 설치했습니다

프로젝트를 수행 할 수 있는지 확인하기 위해 시작하여 시도합니다 이제 소켓 파일과 시스템 서비스를 만듭니다 우리는 처음에 만든 PyFilter 서비스와 sshd 서비스를 가지고 있음을 알 수 있습니다 각 소켓 파일마다 서비스 파일이 존재해야합니다 서비스를 설명하는 확장명을 제외하고 동일한 이름으로 소켓에서 들어오는 트래픽을 시작합니다

우리는 소켓을 시작하고 시작하도록 활성화합니다 시작할 때 자동으로 우리는 소켓이 활성화되어 있고 듣는 것을 보았습니다 서비스가 비활성 상태이며 컬을 시도하라는 요청으로 활성화됩니다 그리고 서비스는 그것을 응답하는 gunicorn에게 보냅니다 django 응용 프로그램의 HTML로

마지막으로 nginx를 설정하고 새로운 서버 블록을 엽니 다 사이트에서 사용 가능한 디렉토리를 찾은 다음 사이트에서 사용 가능한 디렉토리에 연결합니다 방화벽 만 구성하여 권한을 제거하는 것입니다 테스트를 위해 django 웹 서버 만 사용하는 포트 8000에서 nginx에 새로운 권한을 부여합니다 정적 파일을 찾을 수 없기 때문에 오류가 발생합니다 nginx가 정적 파일을 제공하지 않기 때문입니다

https로 연결되지 않았다는 경고도 있습니다 안전한 방법은 아닙니다 이것이 우리가 보게 될 것입니다 정적 파일의 문제를 해결하려면 Whitenoise 패키지를 설치하는 것이 가장 좋습니다 우리의 웹 응용 프로그램은 nginx에 의존하지 않고 자신의 정적 파일을 제공합니다

나중에 화이트 노이즈와 함께 작동하도록 django를 구성해야합니다 정적 파일을 아래에 추가합니다 반드시 필요한 것은 아니지만 Brotli 패키지도 추가합니다 https의 압축 형식으로 파일을 관리하기 위해 gzip에 대한 로딩 속도를 줄입니다 자동적으로 배치하기 위해 collectstatic을 실행 django의 / static / 폴더에 포함 된 필수 정적 파일 settingspy 설정에서 정의한대로 이제 그는 스타일 시트 등을 인식하고 적용합니다

https를 통해 연결되어 있지 않으며 안전하지 않다고 경고합니다 그러나 지금 이것을 변경합시다 HTTPS를 통해 웹 애플리케이션을 제공하려면 SSL 인증서가 필요합니다 이를 테스트하기 위해 자체 서명 된 SSL 인증서를 작성합니다 도메인이 필요하지 않은 클라이언트와의 연결을 강화하는 강력한 그룹 일부 개발자는 nano bash 편집기를 사용하여 편안함을 느낄 수 있습니다 텍스트 파일을 만들고 수정하지만보다 편안하고 관리하기 쉬운 그래픽 인터페이스를 선호합니다

이를 위해 우리는 응용 프로그램 인 WinSCP를 사용할 수 있습니다 SFTP-SSH를 통해 서버에 연결하고 파일을 관리합니다 작업 창에는 두 가지 모드가 있으며 이제는 Windows 탐색기로 사용하고 있습니다 여기에서 변경할 수 있습니다 파일의 속성을 쉽게보고 변경할 수 있습니다 텍스트 파일을 편집하려면 마우스 오른쪽 버튼을 클릭하거나 두 번 클릭하십시오

ko mi caso uso el 메모장 ++ journalctl 구성 변수를 변경하겠습니다 지난 4 일 동안의 기록 만 저장합니다 ya quego + 400Mg ocupados solo con el diario, 모든 시스템 이벤트 및 서비스의 모든 레코드를 유지합니다 사용량이 많은 크기와 다른 매개 변수로 필터링 할 수도 있습니다 아래에는 저널에 대한 자세한 내용을 보여주는 링크가 있습니다

파일을 저장하고 WinSCP가 서버로 전송하는 방법을 확인합니다 이를 적용하려면 시스템을 다시 시작해야합니다 Digital Ocean에 VPS가있는 경우 다시 연결할 때 문제가 발생할 수 있습니다 서버 연결을 거부합니다 이것은 정상이며 쉬운 해결책이 있습니다

보안을 위해해야 ​​할 일은 재부팅 할 때마다 방화벽을 활성화하는 것입니다 재부팅 전에 이전에 비활성화했지만 이를 통해 DO 계정을 입력해야합니다 액 적의 콘솔을 열고 sudo 권한을 가진 루트 또는 다른 사용자로 연결 방화벽을 비활성화합니다 그런 다음 퍼티에서 연결하고 방화벽을 활성화 할 수 있습니다 디스크에서 저널의 점령을 보는 두 가지 명령 마지막 이틀을 제외한 모든 것을 비우는 또 다른 하나

프로젝트를위한 시작 응용 프로그램을 만들 것입니다 폴더의 구조와 appspy 파일을 생성 한 방법을 볼 수 있습니다 응용 프로그램 이름으로 수업을 추가 한 곳 settingspy 파일에 복사하여 붙여 넣습니다 그런 다음이 작은 텍스트를 반환 할 뷰를 만듭니다

이제 애플리케이션에서 urlspy 파일을 만들어 요청을 관리합니다 사용자가 IP 주소만으로 다른 것을 요청하면 홈페이지가 표시됩니다 그리고 이것은 프로젝트 urlspy 파일입니다

홈페이지로 연결됩니다 주목해야 할 것은 django 프로젝트에서 파일을 수정할 때마다 변경 사항을 적용하려면 gunicorn의 wsgi 서버를 다시 시작해야합니다 그리고 nginx 구성 파일도 수정하면 같은 이유로 다시 시작해야합니다 먼저 우리는 오류 테스트를하고 모든 것이 정확하다면 서버를 다시 시작합니다 http를 통해 신청을하면 nginx는 안전 모드 https로 리디렉션합니다

IP 이후에 요청에 다른 내용이없는 경우 그런 다음 홈 응용 프로그램으로 리디렉션합니다 테스트를위한 html 페이지를 만들고 모든 템플릿을 새 디렉토리에 배치합니다 메모장과 악센트가있는 문자를 사용하는 경우 UTF-8 인코딩을 활성화하십시오 정적 파일 폴더 안에도 생성합니다 홈 애플리케이션의 컨텐츠를위한 새 폴더 애플리케이션 아이콘으로 사용할 이미지를 배치합니다

settingspy 파일을 수정하여 루트 템플릿 폴더의 위치를 ​​알려줍니다 시작보기의 파일에서 더 이상 이전 메시지를 표시하지 않습니다 indexhtml 템플릿에 연결하십시오

펜 드라이브를 유일한 수단으로 사용하고자하는 사람들을 위해 관리자로서 응용 프로그램에 연결하려면 URL 15151515/admin/에서 요청을 리디렉션하도록 nginx를 재구성 IP 로컬 1270

01에서만 액세스 할 수 있습니다 응용 프로그램 아이콘 확인 체크 아웃을 제거했습니다 이미 템플릿이 있고 템플릿에서 찾을 위치를 표시하기 때문입니다 모든 요청을 알려주는 새로운 서버 정책 인터넷에서 / admin을 사용하여 홈 페이지로 리디렉션합니다 localhost에서 gunicorn 소켓으로의 모든 요청

변경 사항을 적용하려면 다시 시작해야합니다 URL 15151515/admin이 우리를 리디렉션하는지 확인합니다

라파지나 드 이니시오 코모 에스타 바 프리 비스토 더 이상 인터넷에서 액세스 할 수 없습니다 아이콘이 없어서 오류 메시지가 없습니다 페이지 이름과 함께 여기에 있습니다 마지막으로 시작하는 startpy 파일을 수정해야합니다 젤라 사용자로 서버에 연결하면 Google 크롬 브라우저를 로컬에서 엽니 다

django 테스트 서버를 시작하는 줄을 주석 처리합니다 더 이상 사용하지 않으며이 프로세스를 중단시키는 줄입니다 그리고 우리는 포트를 443으로 변경했습니다 이제 우리는 pendrive를 소개하려고 할 수 있습니다 기본 관리 페이지가 나타납니다 입력 할 수있는 로그인은 무엇입니까? 이 템플릿에 아이콘을 추가하지 않았으므로 아이콘이 없다는 오류가 다시 발생합니다 그러나 우리는 이미 그것을 해결하는 방법을 알고 있습니까? 이 시점에서 이미 Windows에서 VPS를 구성했습니다

웹 애플리케이션을 제작할 준비가되었습니다 시작하고 이해하기에는 긴 길이었습니다 웹 서버에 통합 된 각 구성 요소 이제 백업 사본으로 스냅 샷을 만들 수 있습니다 우리가 만들고자하는 다른 웹 사이트의 기초로 이 비디오는 생각보다 훨씬 더 많이 퍼졌습니다 너무 많이 지내지 않기를 바랍니다 다음 시간까지 인사드립니다

Desarrollo web en Windows 10, con Python, Django, PostgreSQL y LiClipse (English subtitles)

다시 한번 안녕하세요 제 이름은 Frank Mascarell이며 이전 비디오에서는 VPS에서 프로덕션 환경을 설정했습니다 또는 Linux 운영 체제가있는 개인 가상 서버 이 비디오에서는 Windows 10에서 동일한 환경을 구성합니다

개발 목적으로 우리는 이미 몇 가지 도구를 설치했습니다 이전 비디오에서 설명한 PuTTY 및 WinSCP와 같은 파이썬 설치부터 시작하겠습니다 이 프로젝트를 위해서는 계정을 사용해야합니다 모든 관리자 권한이있는 Windows 공식 Python 웹 사이트에서 최신 버전을 다운로드합니다 올바른 프로세서 유형을 선택하는 오늘은 3

73입니다 내 경우에는 x64입니다 어떤 것이 있는지 잘 모르겠다면 제어판> 시스템 및 보안> 시스템에서 볼 수 있습니다 관리자로서 실행 파일을 시작하고 설치가 시작됩니다

상자를 체크하여 파이썬 실행 파일의 경로를 추가합니다 PATH 환경 변수에서 이런 식으로 모든 폴더의 명령 콘솔에서 Python을 실행할 수 있습니다 기본적으로 Windows는 260자를 제한합니다 전체 경로를 포함한 최대 파일 이름 길이 여기를 클릭하여이 제한을 제거하십시오 그런 다음 데스크톱에 Python Shell 링크를 만들고 우리는 그것을 더 잘 갖기 위해 모든 것이 잘 진행되고 있는지 확인합니다 그리고 이것은 파이썬과 관련이 있습니다

PostgreSQL을 다운로드하여 관리자 계정으로 설치합니다 Stack Builder를 설치하는 옵션을 비활성화합니다 우리는 그것을 필요로하지 않기 때문입니다 이 응용 프로그램은 postgres를 확장하는 패키지 관리자입니다 그런 다음 Postgres Shell을 열고 postgres라는 샘플 데이터베이스에 연결할 수 있는지 확인합니다 설치를 만든 이런 경고를 우리에게 보여 주면 문자 유형이 일치하지 않음을 나타냅니다 Windows가 설치된 postgres 콘솔의 이 줄을 runpsql

bat 파일에 추가해야합니다 이제 PgAdmin을 입력하고 처음으로 마스터 비밀번호를 요청합니다 우리는 이미 연결되어 있으며 탐색 패널에서 BD postgres를 볼 수 있습니다 이제 슈퍼 유저 권한으로 다른 postgres 역할을 만들 수 있습니다 cmd에서 postgres 명령을 사용하려면 실행 파일의 경로를 추가해야합니다 PATH 환경 변수에서 Windows에서 로그 아웃 또는 다시 시작 새 경로로 변수를 다시로드하십시오

파이썬에서했던 것처럼 이것은 설치 옵션을 제공하지만 개발 환경에서는 postgres가 항상 실행되고있을 필요는 없습니다 장비 자원 소비 Windows 서비스가 실행 중이고 8 ​​개의 프로세스가 있습니다 postgres 서버를 시작하는 것이 좋습니다 우리가 그와 함께 일하고 그만 멈출 때만 이전 버전의 postgres에서는 박쥐 파일이 포함되었습니다 한 번의 클릭으로 서버를 시작하고 중지 할 수 있습니다 하지만이 버전에서는 그래서 우리는 그들 스스로 준비 할 것입니다

매우 쉽습니다 항상 그렇듯이 관리 계정에서 탐색기를 열고이 postgres 설치 폴더로갑니다 Startbat와 같은 이름을 가진 파일을 만듭니다 이 코드 줄로

NET 명령을 사용하여 서비스를 시작하고 중지합니다 우리는 바탕 화면에 바로 가기를 만들고 아이콘을 변경하고 짜잔 다 같은 방법으로 다른 박쥐를 만들어 cmd를 시작할 수 있습니다 postgres API에 필요한 환경 변수를로드합니다 명령을보다 편안하게 사용할 수 있습니다

이러한 변수는 이 특정 창에만 유용합니다 일단 닫히면 변수가 파괴됩니다 예를 들어, PGDATA 변수는 경로를 포함합니다 postgres 데이터가 저장되는 위치 이 변수는 대부분의 pg_ctl 명령에 필요합니다 무엇보다도, 우리는 확인할 수 있습니다 status 명령으로 서버의 상태 서버를 제어하는 ​​더 유용한 기능

아래에는 pg_ctl 문서에 대한 링크가 있습니다 서버가 Windows에서 자동으로 시작되므로 수동으로 바꾸어도 Windows 시작 프로그램에 Stopbat 실행 파일을 포함시키는 것이 좋습니다 이를 위해이 폴더로 이동하여 데스크탑 아이콘을 복사하여 붙여 넣습니다 Windows를 다시 시작하고 작동 방식을 확인할 수 있습니다

서비스를 비활성화하지 않는 것이 좋습니다 Startbat 실행 파일로 서버를 시작할 수 없기 때문에 다시 활성화해야합니다 이것은 필요의 문제입니다 postgres의 용도에 따라 다릅니다

가상 환경 준비를 시작하겠습니다 최신 버전의 Python을 설치 한 후 이들은 전 세계적으로 Windows에 설치된 기본 패키지입니다 업데이트가 누락 된 pip가 포함되었습니다 다음으로 virtualenvwrapper-win을 설치합니다 가상 환경을 관리합니다 이 버전은 virtualenvwrapper를 확장합니다 (virtualenv를 확장합니다) Windows 용 새 스크립트가 있습니다

아래에서 문서 링크를 떠납니다 또한 전체 시스템에 대해 pip-review를 설치합니다 패키지를 쉽게 업데이트 할 수 있습니다 이 시점에서 저는 중요한 설명을하고 싶습니다 –local 옵션없이 시스템에서 pip-review로 업데이트 할 때 그것이 할 일은 시스템 패키지를 업데이트하는 것입니다 기존의 모든 가상 환경

경우에 따라 유용 할 수 있습니다 그러나 더 많이 사용할수록 가상 환경 내에 있습니다 이제 mkvirtualenv 명령으로 가상 환경을 만듭니다 새로운 개발 환경의 이름 이를 생성 한 다음 활성화합니다 우리는 이미 환경 내에 있음을 나타냅니다

일부 도구가 자동으로 설치되었습니다 deactivate 명령으로 비활성화 할 수 있습니다 workon 명령 및 환경 이름으로 다시 활성화하십시오 가상 환경을 만들 때 –python 옵션을 표시하지 않으면 시스템에 설치 한 최신 버전을 설치합니다 Windows에 여러 버전의 Python을 설치할 수 있으므로 mkvirtualenv 명령으로 특정 버전의 Python으로 이미 작성된 경우 시스템에 이미 설치된 버전입니다

우리가 설치할 첫 번째 패키지는 pip-review입니다 활성화 된 환경에서 pip-review를 실행하면 로컬 옵션을 표시 할 필요는 없습니다 이 격리 된 환경의 패키지 만 업데이트합니다 두 번째 패키지는 Django의 최신 버전입니다 현재 2

22 django-admin –version 응용 프로그램을 실행하여 설치를 확인합니다 환경이 활성화되면 장고 프로젝트를 만드는 것이 매우 쉽습니다 django-admin startproject projectname 명령을 사용하십시오

그런 다음 새 폴더를 입력하여 managepy 파일에 액세스하십시오 python managepy runserver 명령으로 django 테스트 서버를 시작하십시오 이 서버는 로컬 호스트 모드에서 포트 8000에서 시작합니다

또는 로컬 주소 127001과 동일한 것입니다 서버를 중지하려면 중단 (Ctrl + C)을 사용하십시오

우리는 두 개의 패키지를 더 설치할 것이다 : 장고가 postgres에 연결할 수 있도록 psycopg2 정적 파일을 독립적으로 처리하는 whitenoise 개발 단계에서는 화이트 노이즈가 필요하지 않지만 장고 테스트 서버는 정적 파일을 자체 방식으로 처리하므로 그것으로 테스트를 수행하는 것이 편리합니다 프로덕션 환경의 서버에서 환경을 유지할 수 있기 때문에 이러한 방식이 될 것입니다 프로젝트를 구성하는 두 가지 방법을 설명하겠습니다 화이트 노이즈를 사용하지 않는 개발 형태 정적 파일을 처리하는 whitenoise와 함께 생산 방식

BooksWeb 테스트 프로젝트를 다운로드하여 시도해 보겠습니다 이전 비디오에서 사용한 VPS에 프로덕션 환경에서 작동하도록 설정되어 있습니다 사본을 어디서나 저장할 수 있습니다 프로젝트가 특정 폴더에있을 필요는 없습니다 첫 번째는 PgAdmin의 postgres에 BooksWeb 데이터베이스를 만드는 것입니다

프로젝트의 settingspy 파일입니다 화이트 노이즈를 사용하지 않고 구성하려면 일부 줄을 수정해야합니다 첫 번째는 SECRET_KEY 변수의로드에 대해 언급하는 것입니다 환경 변수에 저장되어 있지 않기 때문에 비밀 키를 직접 할당합니다 DEBUG 변수를 활성화하고 오류 발생시 메시지를 표시합니다

MIDDLEWARE 변수도 수정합니다 우리는 whitenoise가 통합 된 라인에 대해 언급합니다 매개 변수에 따라 DATABASES 변수를 조정합니다 방금 만든 테스트를 위해 로컬 BD에서 그것이 지금 연결될 곳입니다 서버 데이터베이스가 아니라 다르게 구성합니다 마지막으로,이 두 변수는 정적 파일 용으로 남겨두고 whitenoise에 대한 STATICFILES_DIRS 변수의로드에 대해 설명하십시오 whitenoise 버전 4

0부터 settingspy 파일에서 프로젝트를 구성해야합니다 wsgipy 파일에서 whitenoise에 대한 참조를 삭제하십시오 이 줄에 주석을 달거나 삭제합니다 이것들은 모두 필요한 구성 변경입니다 정적 파일을 사용하여 화이트 노이즈없이 작업 그리고 django 테스트 서버와 로컬로

잊지 말아야 할 또 다른 중요한 단계는 프로젝트 모델을 로컬 postgres BD로 마이그레이션하는 것입니다 django가 프로젝트의 BD 구조를 올바르게 작성합니다 그리고 makemigrations 및 migrate 명령으로이 작업을 수행합니다 그는 자신이 변화를 감지하지 못했다고 말하고 있습니다 이전에 마이그레이션을 수행했기 때문입니다

이제 테스트 서버를 시작하고 브라우저에서 결과를 확인하십시오 정적 파일이 제대로로드되었는지 확인할 수 있습니다 브라우저에서 오류가 발생하지 않습니다 페이지 스타일도 적용됩니다 정적 파일 인 CSS 스타일 시트를 통해 아직 기록은 없지만 postgres의 BD 구조는 PgAdmin에서 볼 수 있듯이 작성 및 준비됩니다 그런 다음 프로젝트를 구성하여 정적 파일에 whitenoise 서버를 사용하십시오

이전에 변경 한 줄을 주석 해제하십시오 –nostatic 매개 변수를 사용하여 테스트 서버를 시작합니다 장고 테스트 서버에 알리기 위해 정적 파일 관리를 중지하고 이제 whitenoise는 새로운 settingspy 설정에 따라이를 수행합니다 이렇게 변경하면 정적 파일과 관련된 브라우저 캐시를 비워야합니다 또는 반대로 페이지가 캐시에 저장된 오래된 파일과 함께 페이지를 잘못 표시하거나 오류로 표시합니다

이런 식으로 캐시를 재생성합니다 정적 파일 알고리즘이 변경 될 때마다 django가 생성 한 페이지를 확인할 수 있습니다 잘 작동하고 오류가 발생하지 않습니다 이제 whitenoise는 개발 모드에서 정적 파일을 제공하고 있습니다 VPS의 프로덕션 모드에서와 동일합니다 비어있는 __init__py 파일을 추가하여 시작해 보겠습니다 ( settings

py 파일이있는 위치 이것은 파이썬 에게이 폴더를 알려줍니다 모든 내용을 담은 패키지로 취급 할 수 있습니다 지금 만들 새 파일을 가져올 수 있습니다 먼저 settingspy 사본을 만듭니다

이름을 basepy로 바꿉니다 그런 다음 developmentpy 및 produccionpy 파일을 만듭니다

이제 우리는 수정 될 변수를 제거했습니다 STATIC_URL 변수는 일반적이기 때문에 그대로 두겠습니다 개발 및 생산 모드 개발 구성 파일에서 기본 모듈을 가져 와서 그대로 둡니다 생산 파일에서 우리는 whitenoise를 추가합니다 그리고 당신이 일 해야하는 변수

이제 우리는 어떻게 활성화 할 것인지 알아야합니다 개발 방식 또는 생산 방식 managepy 파일을보십시오 프로젝트를 시작한 첫 번째입니다 그것은 설정하는 기능을 포함 DJANGO_SETTINGS_MODULE 환경 변수 프로젝트 시작시 존재하지 않는 경우 settings

py 파일의 기본값을 할당합니다 이것이 우리가 할당해야 할 변수입니다 django 서버를 시작하기 전에 Windows에서는 SET 명령을 사용하여 변수를 할당합니다 생산 모드로 전환 할 때 브라우저 캐시를 지우는 것이 중요합니다 또한 문제없이 작동한다는 것을 알았습니다

이제 두 가지 구성이 준비되었습니다 하나의 변수 만 할당하면 쉽게 교환 할 수 있습니다 장고의 다음 버전이 나오면 새 버전으로 환경을 만들 수 있습니다 VPS에서 최종 변경을 수행하기 전에 로컬에서 테스트 웹 사이트 충돌의 위험없이 새 버전의 오작동으로 인해 가상 환경을 테스트하려면 다른 버전의 django로이 프로젝트를 시도해 볼 수 있습니다 예를 들어 2

0입니다 새로운 환경을 만들고 필요한 패키지를 설치합니다 따라서 우리는 우리의 프로젝트가 Django 버전 20에서도 작동합니다 실용? 개인적인 용도로 작은 응용 프로그램을 만들 겠다는 이점을 활용하면서 django의 모델, 뷰 및 템플릿을 신속하게 검토합니다

쓰레기로 가득 찬 보관실이 있기 때문에 그리고 나는 대다수를 팔고 싶다 두 개의 테이블이있는 작은 데이터베이스를 작성합니다 책을 담을 책, 다른 기사와 다른 또한 데이터베이스를 관리하기위한 사용자 지정 관리 페이지를 만듭니다 첫 번째는 비어 있고 구조화되지 않은 데이터베이스를 만드는 것입니다

로컬 연결로 PgAdmin에서 그런 다음이 연결의 속성을 수정합니다 기본적으로 BD 저장소에 연결하려면 Frank_local 연결과 연결할 때 서버를 테스트하고 연결을 끊었다가 다시 연결합니다 이제 django로 돌아가서 프로젝트와 응용 프로그램을 만듭니다 설정 파일을 조정합니다

우리는 응용 프로그램을 등록 화이트 노이즈를 사용하여 개발 모드를 구성합니다 postgres에 대한 연결 구성 정적 파일을위한 정적 폴더를 만듭니다 그런 다음 필요한 URL을 매핑합니다 브라우저에서 URL 카탈로그 /를 입력하면 catalogo

urls 파일로 리디렉션됩니다 이 애플리케이션의 URL이 맵핑되는 위치입니다 빈 URL을 입력하면 URL 카탈로그 /로 리디렉션됩니다 카탈로그 폴더에 urlspy 파일을 만들고 나중에 뷰를 만들면 urlpatterns 변수를 채 웁니다 다음은 postgres 마이그레이션을 수행하는 것입니다

여기에 구문 오류가 발생합니다 그리고 include 함수를 포함하는 것을 잊었 기 때문에 여기에 또 다른 오류가 있습니다 이제 네 PgAdmin을 체크인하면 django가 필요한 모든 테이블을 만드는 방법 관리, 사용자 및 인증을 위해 우리는 응용 프로그램을 테스트했으며 장고는 예상대로 작동합니다 URL 카탈로그에 대한 관련보기가 없기 때문에 오류가 발생합니다

/, 그러나 장고는 잘 작동합니다 카탈로그 애플리케이션의 모델을 작성합니다 Book 모델에 필요한 기본 모델부터 시작하겠습니다 full_name 필드 만있는 작성자 모델 모든 저자가 포함 된 별도의 모델을 만들어야합니다

책 모델의 저자 필드 이후 여러 저자가 포함될 수 있습니다 순서를 정의하는 메타 클래스 복수형의 변수 이름을 반환하는 방법은 인스턴스가 참조 될 때 게시자를 먼저 만들기 위해 광고 문안 모델 책 모델에서 읽어보십시오 책 또는 기사의 상태를 표시하는 데 사용할 모델 상태 세 가지 가능한 불변 값 중 하나이므로 상수와 choices 속성을 사용할 것입니다

두 가지 가능한 값으로 모델을 인쇄하십시오 기사의 사진을 저장할 미디어라는 폴더를 준비합니다 나는 그것들을 두 가지 범주로 분류 할 것이다; 책의 사진과 기사의 나머지 사진 이제 책 사진을위한 PhotoBook 모델을 만들고 데이터베이스에 저장 될 ImageField 필드와 함께 책의 사진이 저장 될 경로 (이미지가 아닌) settings

py 파일에 일부 변수 만 추가하면됩니다 그래서 장고는 사진을 잘 관리합니다 우리는 기사의 사진에 대한 다른 유사한 모델을 만듭니다 다른 폴더에 저장합니다 컬렉션 모델도 필요합니다

그러면 모든 책 모음이 저장됩니다 그리고 해당 필드에 다른 모델이 포함될 책 모델 콜렉션 필드는 콜렉션 모델과 일대 다 관계 (ForegeinKey)를 갖습니다 즉, 책 모델의 각 레코드는 컬렉션 모델의 레코드를 포함 할 수 있습니다 저자 필드는 다 대다 관계 (ManyToManyField)를 갖습니다

즉, 동일한 레코드에 Author 모델의 여러 레코드가 포함될 수 있습니다 숫자 필드의 경우 작은 양의 정수가 있습니다 지금은이 모델 내에 상수 값의 모델을 배치하겠습니다 발행물의 URL을 저장하려면 다른 모델이 필요합니다 TextField가있는 설명 필드 양식에서 TextArea 요소로 표시됩니다

보시다시피 일부 분야에서는 비어있을 수 있다고 말합니다 BD의 경우 null = True이고 양식의 경우 blank = True입니다 기사를 만들 때 마지막으로 사진과 간행물을 남길 것입니다 수집 필드도 비워 둘 수 있습니다 모든 책이 컬렉션에 속하는 것은 아니기 때문입니다

마지막으로, 나머지 기사를 포함 할 모델 기사입니다 이 모델에는 책 모델에 대한 몇 가지 공통 필드가 있으므로 우리는 파이썬 프로그래밍의 원칙 중 하나를 고려하여 이것을 코딩 할 것이다; 반복적이고 불필요한 코드를 생성하지 마십시오 우리는이 공통 분야를 새로운 추상 클래스로 추상화 할 것입니다 그런 다음 다른 모델에서 상속합니다 BD에서는 추상 모델이 생성되지 않습니다

코드 저장에만 도움이됩니다 Django에서는이 모델을 Mixin이라고합니다 명령 콘솔로 돌아가서 환경을 활성화하고 이미지 처리를위한 특정 라이브러리 인 다른 Pillow 패키지를 설치합니다 ImageField 필드 유형을 사용할 수 있어야합니다 이제 마이그레이션을 만들어 봅시다

오류가 발생합니다 ForeignKey 필드에 null 값을 포함 시키려면 on_delete 속성을 추가해야합니다 연결된 레코드를 삭제하는 경우 빈 필드가 표시됩니다 BD의 ManyToManyField 필드는 null 일 수 없습니다 그러나 양식이 비어있을 수 있습니다

null이 아닌 경우 ImageField 필드 기본값을 요구하므로 null로 설정합니다 마이그레이션을 다시 시도하십시오 이제는 PgAdmin에서 BD의 상태를 확인하십시오 해당 필드를 사용하여 모든 테이블을 생성 한 방법을 확인합니다 이 관리 응용 프로그램은 startproject로 프로젝트를 만들 때 Django가 만들었습니다

그런 다음 관리 사이트의 모델 만 등록하면됩니다 이것이 가장 기본적인 방법입니다 추상 클래스는 등록하지 않아야합니다 또한 모델에 액세스 할 수있는 권한이있는 관리 계정이 필요합니다 이제 관리자로 로그인하고 로그인 할 수 있습니다

기본적으로 모든 모델에 액세스 할 수 있는지 확인합니다 첫 번째 레코드를 추가합니다 먼저 책을 추가하려고합니다 필드 이름을 보면 비어 있거나 널이 될 수있는 필드가 다른 색상인지 확인합니다 기사를 등록한 다음이 필드를 채울 수 있습니다

사진을 찍어 게시 할 때 여기에서 그는 레코드가 올바르게 저장되었다는 메시지를 보여줍니다 BD에서 확인해 봅시다 저자, 컬렉션 및 출판사에 대한 기록도 만들었습니다 이 애플리케이션은 로컬에서만 작동하지만 디자인이 다른 홈페이지와 다른 페이지를 만들 것입니다 이를 위해 해당 뷰도 생성합니다

원하는 데이터가 노출됩니다 카탈로그 / 뒤에 빈 URL을 추가합니다 indexhtml 페이지로 리디렉션됩니다 views

py에서 필요한 뷰를 선언합니다 필요한 모델을 가져옵니다 템플릿 옆에 데이터를 반환하는 함수를 만듭니다 템플릿을 저장할 폴더를 만들고 그리고 홈페이지의 기본 템플릿 또한 정적 내부에 두 개의 폴더를 더 만듭니다

스타일 시트와 자바 스크립트 파일을 저장합니다 디자인에 Bootstrap을 사용할 것입니다 다운로드 한 모든 파일 중에서 두 가지 컴팩트 파일 만 필요합니다 minjs 및 min

css, 다른 사람이 삭제할 수 있습니다 basehtml 템플릿에는 모든 템플릿에 대한 공통 헤더가 포함되어 있습니다 그리고 네비게이션 바 index

html 템플릿에는 각 모델의 총 레코드 목록이 포함되어 있습니다 PubURLs 모델의 이름을 Publications로 변경하겠습니다 그런 다음 변경 사항을 postgres로 마이그레이션하십시오 다시 시도하면이 오류를 예측할 수있었습니다 해당 URL이 아직 정의되어 있지 않기 때문입니다

단계를 밟아 봅시다 다음은 각 템플릿에 필요한 모든 뷰를 만드는 것입니다 우리는 완전히 새로운 관리 인터페이스를 만들고 있음을 기억하십시오 Django가 기본적으로 제공하는 관리 인터페이스와 유사합니다 localhost / admin으로 입력 한 것 하지만 우리와 함께 더 설명적인 다른 URL을 입력하겠습니다

그리고 우리는 원하는대로 인터페이스 디자인을 할 것입니다 물론 장고가 많은 시간을 절약 할 수는 있지만 모든 것이 제대로 작동합니다 각 모델마다 두 개의 클래스를 만듭니다 하나는 모든 모델 레코드를 나열하고 다른 하나는 모델의 특정 레코드의 세부 사항을 보여줍니다 각 클래스마다 세 가지 변수를 할당합니다

하나는이 뷰가 연결되는 모델을 나타냅니다 새 변수 이름을 나타내는 또 다른 옵션 모델에서 추출한 데이터를 참조합니다 클래스가 ListView에서 파생되면 모든 레코드를 반환합니다 클래스가 DetailView에서 파생되면 특정 레코드를 반환합니다 우리가 당시에 표시 할 마지막으로 HTML 템플릿을 나타내는 다른 변수 이 모든 데이터를 나타냅니다

여기에 뷰에 대해 정의 된 클래스에서 Django가 사용하는 MVT 패턴을 더 잘 이해할 수 있습니다 뷰가 (urlspy 파일로부터) 요청을 받으면, 해당보기에서 처리됩니다 액세스 권한을 준비합니다 (있는 경우) 모델에서 (models

py 파일에서) 요청 된 데이터를 추출합니다 클라이언트의 브라우저로 응답을 보냅니다 지금까지 간단한 읽기 전용보기를 만들었습니다 허가가 필요없는 이제 BD에 액세스 할 수있는 뷰를 추가하겠습니다 따라서 로그인해야합니다

우리는 또한 해당 양식이 필요합니다 모델 필드를 편집 할 수 있습니다 CreateView, UpdateView 또는 DeleteView 클래스를 상속하면 Django는 해당 Form 클래스를 자동으로 생성합니다 양식과 상호 작용하는 데 관련된 모든 논리를 데이터의 유효성을 검사하고 보안을 통합합니다 모델마다 3 개의 클래스를 만들고 레코드 작성, 업데이트 및 삭제 조치에 해당합니다 처음 두 클래스는 같은 템플릿을 가리 킵니다

마지막 클래스는 다른 삭제 확인 템플릿을 가리 킵니다 해당 URL에보기를 지정하십시오 나는 그것들을 여러 그룹으로 나누었다 처음 두 그룹은 읽기 전용 액세스를위한 URL (목록 및 세부 정보)입니다 나머지 세 그룹은 전체 액세스를위한 URL입니다

이제이 URL에 대한 템플릿을 만들어야합니다 모델을 나열하기 위해 템플릿으로 시작해 봅시다 먼저 각 모델마다 방법이 필요합니다 주어진 레코드의 URL을 반환하려면 템플릿 링크를 만들 수 있습니다 첫 번째 템플리트는 항목 모델의 레코드를 나열합니다 다른 모델의 레코드를 나열하는 다른 템플릿 그것들은 매우 비슷하며 복사 만하면됩니다

해당 변수를 변경하십시오 이제 레코드의 세부 사항에 대한 템플리트를 사용합니다 처음 두 개의 템플릿과 더 많은 작업이있는 기사 및 책 모델의 세부 사항에 대한 템플리트입니다 더 많은 필드가있는 모델이기 때문입니다 그리고 마지막으로 데이터베이스에 대한 전체 액세스 권한이있는 템플릿; 양식

이것으로 우리는 빨리 끝날 것입니다 장고가 자동으로 코드를 생성하기 때문입니다 동일한 템플릿 이름을 사용하므로 template_name 변수를 통해 Django가 기본적으로 할당 한 것보다 할당 할 필요가 없으므로 모든보기에서 삭제합니다 우리는 몇 줄의 코드를 저장합니다 첫 번째 양식은 기사 모델의 레코드를 작성하고 업데이트하는 데 도움이됩니다

매우 기본적인 형태입니다 Django가 블록 컨텐츠의 컨텐츠를 생성하는 곳, 각 모델 필드에 대한 입력 필드를 만듭니다 양식을 만드는 가장 빠른 방법입니다 같은 템플릿을 사용할 수도 있습니다 나머지 모델의 다른 모든 형태에 대해 그것들을 구별하는 자신의 변수를 사용하지 않기 때문입니다 그러나 우리는 이것을하지 않을 것입니다

각 모델에 대한 사본을 작성하고 프로젝트 디자인 단계에서 페이지 디자인에 유연성을 높이기 위해 필드를 수동으로 추가합니다 그러나 이것으로 우리는 도착할 것입니다 첫 번째는 백엔드가 제대로 작동하는지 확인하는 것입니다 작업 할 모든 변수를 인식하고 모든 페이지와 원활하게 상호 작용할 수 있습니다 또한 레코드 삭제 확인 템플릿이 필요합니다

다른 모델의 경우 Django가 기본적으로 할당 한 이름으로 계속 template_name 변수의 뷰에 우리는 article_confirm_deletehtml을 사용하여 시작할 것입니다 그런 다음 나머지 템플릿을 만듭니다 코드를 디버깅하고 오류를 수정하며 테스트합니다

명령 콘솔을 위해 Windows에서 별명을 작성합니다 알다시피, 우리는 개발 단계에 있습니다 우리는 같은 명령을 여러 번 반복합니다 가상 환경을 활성화 한 다음 테스트 서버를 시작하십시오 쉽게 해보자 먼저 Alias

bat라는 파일을 원하는 위치에 만듭니다 여기에는 DOSKEY 명령이 포함됩니다 언급 된 두 프로세스를 실행합니다 그런 다음 Autorun이라는 문자열 값을 추가합니다 레지스트리의 HKEY_CURRENT_USER Software Microsoft Command Processor 폴더 안에 콘솔이 시작될 때

bat 파일이 실행되도록하려면 정의 된 매크로를 사용할 수 있습니다 메모장 ++는 우리가 본 것처럼 기능을 수행하는 범용 편집기입니다 하지만 프로젝트가 성장함에 따라 예를 들어 고급 편집기가없는 경우 프로젝트 파일의 탐색 패널을 포함하거나 코딩하는 동안 추가 도움말이 통합되어 있습니다 메모장에서 감지하지 못하는 일반적인 구문 오류를 피하기 위해 변수 나 함수의 이름을 기억하도록 돕기 위해 더 유용한 것들 중 하나입니다 LiClipse는 Python으로 프로그래밍하기에 이상적인 편집기입니다

특히 Django에서는 무료입니다 LiClipse는 PyDev가 통합 된 Eclipse의 확장입니다 파이썬으로 개발하기위한 모듈입니다 그래서 다운로드하여 설치하겠습니다 아래에 사이트의 링크를 배치하겠습니다

이 테마로 LiClipse를 구성했습니다 또한 내가 원하는 것을 다운로드 할 것입니다 시력이 떨어지기 때문에 어두운 배경을 선호합니다 스토리지 프로젝트도로드했습니다 인터페이스에 대한 개요를 갖습니다 그런 다음 세부 사항으로 이동합니다

지금은 왼쪽의 탐색 패널을 볼 수 있습니다 프로젝트 파일을 표시하고 클래스를 볼 수있는 곳, 그리고 이것들 안에서 변수와 함수 요소를 두 번 클릭하면 직접 요소로 이동합니다 빨간색 밑줄이있는 LiClipse는 코드의 오류를 나타냅니다 탐색 아이콘에는 경고 아이콘이 있습니다

이 오류를 비활성화하려면 문제 패널에서 경고 메시지를 삭제합니다 LiClipse는이 오류를 발생시킵니다 BOM으로 UTF-8 문자 세트를 감지합니다 그러나 그것은 중요하지 않으며 모든 것이 정확합니다 더 나은 작업을 위해 두 파일을 병렬로 배치 할 수도 있습니다

창문을 원하는대로 나누거나 해당 탭을 누르고 드래그하면됩니다 LiClipse 설치는 영어로만 이루어 지므로 맞춤법 검사기라는 점을 명심해야합니다 모든 단어를 잘못된 것으로 표시 사전에없는 영어 이외의 사전을 스페인어로 설치하겠습니다 인터페이스가 아닌 교정자 전용입니다 구성을 계속합니다

인쇄 선은 텍스트 편집기에서 숨길 수 있습니다 인쇄 여백 표시를 선택 취소합니다 다음으로 PyDev를 구성합니다 올바른 Python 실행 파일을 사용하십시오 이곳은 다른 통역사를 나타내는 곳입니다 각 가상 환경에 해당 우리가 만들고 시도하고 싶은 프로젝트 속성에서 그중 하나를 할당 할 것입니다

목록의 첫 번째가 기본값입니다 이제 새로운 장고 프로젝트를 만들어 기존 프로젝트에 연결하겠습니다 어떤 이유로 LiClipse는 BooksWeb 폴더에서 파일을 추출했습니다 이것은 우리가 원하는 것이 아니므로 다시 넣습니다 manage

py 파일은 프로젝트의 루트 폴더에 있어야합니다 이러한 오류는 postgres 서버가 중지되어 BD를 찾을 수 없기 때문에 발생합니다 자,이 브라우저 오류는 정적 파일을 찾을 수 없기 때문입니다 PyDev가 Django 테스트 서버를 실행하고 있기 때문입니다 정적 파일을 관리하고 있습니다

그게 우리가 원하는 것이 아니고, 화이트 노이즈가 그것들을 관리하기를 원합니다 위의 프로젝트 구성에서 변경된대로 프로덕션 모드에서와 같이 –nostatic 매개 변수를 추가하겠습니다 글쎄, 우리는 이미 더 나은 작업을 계속할 LiClipse를 준비했습니다 각 프로젝트마다 다른 실행 파일을 구성해야합니다 각 프로젝트의 manage

py 파일을 참조합니다 여기서는 다른 프로젝트가 닫혀 있기 때문에 Trastero 프로젝트 만 볼 수 있습니다 Test라는 새로운 장고 프로젝트를 만들겠습니다 보시다시피 PyDev는 콘솔에서 managepy startproject 명령을 사용할 때; 모든 기본 파일을 사용하여 프로젝트의 골격을 만들고 거의 갈 준비가되었습니다

PyDev는 Run에 대한 새로운 구성을 자동으로 생성합니다 테스트 프로젝트를 위해 지금부터 사용할 것입니다 이제 프로젝트 내에서 응용 프로그램을 만들고 카탈로그라고 부르겠습니다 콘솔에서 managepy startapp 명령을 실행하는 것과 같습니다

LiClipse에서 Django의 모든 것을 실제로 할 수 있습니다 BD의 마이그레이션과 프로젝트 테스트를 수행 할 수 있습니다 또한보고있는 것처럼 오류를 즉시 디버그 할 수 있습니다 약간의 조정과 준비가 될 것입니다 마지막으로 테스트 프로젝트의 복사본을 기본 프로젝트로 만들고 향후 프로젝트를 위해 저장하겠습니다

콘솔에서와 같이 여기에서 명령을 실행할 수 있습니다 예를 들어, collectstatic 명령을 작성하여 LiClipse에서 실행합니다 여기에서 매개 변수와 함께 모든 명령을 작성할 수 있습니다 TTY가 필요한 명령을 제외하고 createuperuser 명령과 같은 명령 콘솔입니다 LiClipse와의이 검토 후 Trastero 프로젝트로 돌아가서 디테일 뷰에서 약간의 오류가 발생했습니다

pk 매개 변수 캡처가 올바르게 수행하지 않기 때문입니다 정규식은 매우 강력합니다 학습하기 어려운 구문이 있지만 이를 통해 거의 모든 URL을 매우 정확하게 필터링 할 수 있습니다 그러나이 프로젝트에서는 복잡한 URL을 사용할 수 없습니다 re_paths를 경로로 바꾸겠습니다

더 간단하고 널리 사용되는 옵션이 있습니다 꺾쇠 괄호와 같이 이미 Django에 의해 생성되었습니다 정수 또는 숫자의 캡처 <입력 : pk> 관리자 권한이있는 사용자로 로그인해야합니다 기본 제공 LoginRequired 클래스로보기에 액세스합니다

앞서 만든 사용자와 함께 Django의 기본 관리 응용 프로그램에서 여기에서는 성공한 경우 애플리케이션을 리디렉션하기 위해 URL이 누락되었음을 알려줍니다 레코드를 삭제 한 후 우리는 이미 프로젝트가 제대로 작동하고 있다는 근거를 가지고 있습니다 다음은 일부 분야를 개선하는 것입니다 기사의 사진을 표시하기 위해 회전식 슬라이드 쇼를 추가하는 방법

먼저, 세션 제어를위한 로직을 추가하겠습니다 응용 프로그램의 보안 수준이 가장 낮습니다 로컬에서만 작동하도록되어 있지만 아마도 당신이 사용하는 장치는 그것은 다른 사람들과 공유되는 장치이므로 너무 많이 오지 않을 것입니다 먼저 사용자 계정에 대한 매핑을 추가합니다 그런 다음 설정 파일에서 LOGIN_REDIRECT 변수를 정의합니다

로그인 한 후 응용 프로그램이 홈 페이지로 리디렉션됩니다 템플릿 폴더 안에 이름 등록이있는 다른 폴더를 만듭니다 django가 인증 템플릿을 찾는 곳입니다 이 폴더 안에 템플릿을 만듭니다 여기에 표시된 것과 정확히 동일한 이름으로 우리는 또한 로그인 및 로그 아웃 링크를 추가 탐색 메뉴에서 템플릿 경로를 수정했습니다

비밀번호 재설정시이 오류는 Django는 도메인이나 호스트를 할당하지 않았기 때문에 우리에게 제공합니다 비밀번호 변경 링크가 포함 된 메일 발송 위치 호스팅 할 Gmail 계정을 만들겠습니다 Google API에 연결하려면 16 자리 애플리케이션 비밀번호가 필요합니다 이를 위해서는 두 단계로 인증을 통해 계정을 설정해야합니다 Google에서 생성 한이 애플리케이션 비밀번호를 설정에서 복사하여 테스트합니다

LOGIN_REDIRECT 및 LOGOUT_REDIRECT 변수를 다시 추가합니다 암호를 변경하면 암호를 가져 가면 오류가 발생하는 것 같습니다 이제 사진이 포함 된 모델의 필드를 수정하고 제대로 표시되도록 먼저 프로젝트 루트에 폴더를 만들고 managepy 파일은 어디에 있습니까? 여기서 django는 사용자가 업로드 한 파일 (이 경우 이미지)을 배치합니다 나는 그것을 반으로 불렀지 만 우리는 그것을 우리가 원하는 것으로 부를 수 있습니다

또한 정적 파일 폴더 내에 다른 미디어 폴더를 만들고 파비콘이나 로고와 같은 정적 이미지를 포함 할 수 있습니다 다음은 설정에 변수를 추가하는 것입니다 정적 미디어 파일이 아닌 동적 미디어 파일의 경우 그런 다음 urlspy 파일에서 다음 행을 추가합니다 미디어 파일의 URL이 개발 단계에만 할당되도록합니다 생산 단계에서 이러한 파일은 Gunicorn 서버에서 관리합니다 이 프로젝트는 로컬에서 작동하도록 설계되었지만 VPS에 업로드하고 온라인으로 응용 프로그램에 액세스 할 수 있습니다

양식에이 속성을 추가해야합니다 사용자가 파일을 업로드해야하는 위치 예, 우리는 응용 프로그램을 테스트 테스트 이미지가 이미 표시되어 있습니다 템플릿에서 객체 끝에 URL을 추가해야합니다 BD에서 모든 것이 잘 등록되었는지 확인합니다 그리고 이것으로 신청서가 완성됩니다

당신이 바꾸고 싶은 디자인은 당신의 것입니다 프로젝트의 다음 단계는이 장고 애플리케이션을 BD로 전송하는 것입니다 Android 또는 iOS 시스템의 경우 모바일에 적용되지만이 동영상에서는 더 이상 설명하지 않습니다 그러나 이것은 웹 개발자가해야 할 단계입니다 모바일 기술의 광범위한 사용을 고려할 때 일부 개발자조차도 먼저 모바일 응용 프로그램을 만든 다음 다른 장치를 만듭니다

이 시나리오에서 몇 가지 옵션이 있습니다 우리가 구현하고자하는 응용 프로그램의 유형에 따라 덜 일반적인 응용 프로그램 모바일에서 로컬로 작동하는 애플리케이션 즉, 인터넷 연결이 필요하지 않습니다 저장실 프로젝트처럼 다운로드하는 것 이상 로컬에서만 작동합니다 이 시나리오에서 내가 선호하는 솔루션은 Android 용 QPython을 설치하는 것입니다

이것은 실제로 네이티브 파이썬과 동일합니다 그리고 이전과 마찬가지로 가상 파이썬 환경에서 장고와 필요한 패키지를 설치하겠습니다 그런 다음 프로젝트를 업로드하고 runserver로 시작합니다 localhost를 사용하여 브라우저에서 액세스하십시오 이 환경에서는 더 가벼운 SQLite BD를 사용하는 것이 좋습니다

Trastero 프로젝트에는 많은 수의 사용자가 필요하지 않습니다 또는 수천 개의 레코드를 처리하십시오 다른 시나리오에서 가장 일반적인 응용 프로그램은 서버를 통해 인터넷에 연결되어 있습니다 그것은 그녀를 섬기고 있습니다 모바일 기기에 브라우저가 설치되어 있으면 Chrome이면 충분합니다

이 프로젝트는 부트 스트랩을 통한 반응 형 디자인입니다 또한 모든 화면 크기에 완벽하게 맞습니다 이 시나리오의 또 다른 대안은 프론트 엔드에 Flutter를 사용하는 것입니다 백엔드를위한 Django REST 프레임 워크 이런 식으로 우리의 응용 프로그램은 모바일 기술에 더 잘 통합 될 것입니다

안드로이드와 iOS 모두를위한 멀티 플랫폼 애플리케이션이기 때문입니다 Flutter는 Google 사용자 인터페이스 툴킷입니다 아래에서 전체 프로젝트 링크 옆에 링크를 남겨 두겠습니다 재활용을 시작하고 동시에 돈을 벌 수 있습니다 글쎄,이게 바로 여기에 작별 인사를하고 이 비디오가 여러분에게 도움이 되길 바랍니다

모두에게 인사합니다

Python Web Development | Web Development Using Django | Python Django Tutorial | Edureka

얘들 아, 다시 오신 것을 환영합니다 Edureka의 새로운 세션으로 내 이름은 와지 하

그리고이 세션에서, 우리는 매우 흥미로운 것을 배울 것입니다 파이썬을 사용한 웹 개발 따라서 우리가 시작하기 전에 구독을 확실히하십시오 채널로 이동하여 Bell 아이콘을 눌러 업데이트 상태를 유지하십시오 모든 최신 Edureka 비디오

돌아 오는 중 세션을 향해 매장에있는 모든 것을 여기에서 간단히 살펴 보겠습니다 너희들 시작해 와 먼저 파이썬에 대한 몇 가지 기본 사항을 다룰 것입니다

그리고 나서 우리가 볼 것이다 왜 파이썬이 이것을 따르는 웹 개발에 사용 되는지요? 우리는 봐야한다 몇몇 중요한 웹 개발 라이브러리 또는 오늘의 세션에서 파이썬 프레임 워크 나는 Django 프레임 워크를 사용할 것이다 샘플 웹 사이트를 개발할 수 있습니다

그럼 매력적인 조합이 무엇인지 살펴 보겠습니다 파이썬과 Django는 우리에게 그 이후를 제공합니다 우리는 곧바로 이동할 것입니다 장고를 설치하고 마침내, 내가 만드는 방법을 보여줄거야 처음부터 샘플 웹 사이트

그래서 나는 이것으로 모든 사람들이 분명히 희망하기를 바랍니다 이제 첫 번째 주제로 넘어 갑시다 이 세션에서는 파이썬 녀석에 대한 몇 가지 기본 사항을 다룰 것입니다 파이썬은 해석 된 고수준 언어입니다 객체 지향 순차 방식으로 처리 될 수있다

또는 절차 적 방식으로 또한 높은 수준의 내장 된 데이터 구조를 제공하며, 동적 타이핑과 병합됩니다 동적 바인딩 의미 그걸 아주 매력적으로 만든다 응용 프로그램 개발 웹 개발을위한 웹 사이트를 개발하는 것만이 아니다 그것은 인터넷에 의해 호스팅 될 수 있습니다 간단한 페이지에서 복잡한 웹 사이트에 이르기까지 예 : google

com Gmailcom Facebook 등 파이썬의 기초를 다뤘습니다 계속 나아가 파이썬이 웹 개발 녀석들에게 사용되는 이유를 알아 봅시다 파이썬은 웹 애플리케이션을 구축 할 수있게합니다

동적으로 그것도 매우 안정된 언어입니다 당신이 사용했던 Grunts 파이썬의 사실을 멀티 프로토콜 네트워크 애플 리케이션 구축 유연하고 사용하기 쉽다 빠른 처리는 몇 가지 이유 일뿐입니다 웹 개발에서 그 가치를 언급 할 수 있습니다

이제 파이썬의 기능에 대해 설명했습니다 일부 라이브러리를 둘러 보겠습니다 그 파이썬 제공 웹 개발 녀석을위한 Python은 많은 라이브러리를 제공합니다 웹 개발 용 중요한 것들 중 일부는 체리 파이 장고 웹입니다 피라미드 터보 기어 파이프에 오늘 세션에서 이것들 사이의 플라스크

나는 Django 프레임 워크를 사용할 것이다 자 이제 왜 장고가 왜 그런지 궁금해 할 것입니다 다른 Django 라이브러리는 진정 최고의 파이썬 라이브러리입니다 웹 개발 용 순수하게 파이썬으로 작성되었습니다

빨리 웹 사이트를 만들 수 있습니다 몇 시간 만에 완전히로드되었습니다 웹 사이트를 만드는 데 필요한 모든 도구 포함 매우 안전합니다 YouTube를 Dropbox Google 또는 Graham에서 모두이기십시오

이 인터넷 자이언트는 장고에 의존합니다 그래서 이것으로 나는 너에게 충분한 것을 주었다고 생각한다 왜 내가 다른 라이브러리보다 장고를 선택했는지 괜찮아 이제 사람들이 보러 가자

Django를 설치하기 전에 Django를 설치하는 방법 PC에 파이썬을 설치해야합니다 공식 파이썬 웹 사이트에 갈 수 있습니다 거기에서 다운로드하십시오 나는 너를 곧 보여줄거야

어떻게 파이썬을 다운로드 한 후에도 동일한 작업을 수행 할 수 있습니다 설치를 완료해야합니다 다음과 같은 설치 프로세스 내가 너에게 모든 설정 방법을 보여줄거야 파이썬 홈 변수 이것은 IDE가 다음과 같이 파이썬을 찾도록하기 위해서입니다

PC에 설치되어있는 곳 그 후 당신은 pycharm을 다운로드해야 할 것입니다 PC에 설치하십시오 마침내 pycharm 터미널을 열고 사용해야합니다 장고를 설치하는 명령

괜찮아 이제 브라우저로 가자 파이썬을 다운로드하는 방법을 보여줘 당신이 화면에서 볼 수있는 것처럼 이것은 공식 파이썬 웹 사이트입니다

여기서 파이썬을 다운로드 할 수 있습니다 Windows 플랫폼을 사용하는 경우, 당신은 여기에이 옵션을 사용하여 파이썬을 다운로드 할 수있다 Mac Linux 또는 다른 운영 체제를 사용하는 경우, 해당 옵션을 사용할 수 있습니다 다운로드가 완료되면 완료해야합니다 설치와 함께 이미 여기에 설치 했으니 까

설치 옵션을 제공하지 않습니다 수리를 수정할 수있는 옵션 만 제공합니다 또는 제거하십시오 좋아요, 그래서 이것을 PC에 설치 한 후에 고급 시스템 설정 환경 변수 옵션 선택 여기에서 새 옵션을 선택하고 이름을 지정하십시오

파이썬은 집으로 밑줄을 긋습니다 이 변수의 값 경로를 복사해야합니다 여기서 파이썬이 PC에 설치되었습니다 PC에 파이썬이 설치되어있는 곳을 찾으려면 파이썬 찾기 동일한 파일을 마우스 오른쪽 버튼으로 클릭하고 열린 파일 위치를 사용하고, 여기에서 볼 수 있듯이

그것은 내가 파이썬을 지금 설치 한 곳을 보여 주며, 이 위치를 복사하고 값으로 붙여 넣을 것입니다 이 변수를 사용하고 괜찮습니다 경로 변수가 존재하는지 살펴 본 후 시스템 변수에서 선택하고 편집을 선택하십시오 변수 값으로 이동 그리고 가치의 끝을 향하여 세미콜론을 찾지 못하면 세미콜론을 삽입하십시오

그리고 그 타입 python은 집에 밑줄을 긋습니다 두 백분율 기호 사이 마치 내가 여기서 한 것처럼 좋아, 그 후에는 그냥 줘 그리고 설정을 닫습니다

일단 이것이 끝나면 Python 위치가 IDE에 표시됩니다 pycharm을 다운로드하려면 jetbrains 웹 사이트로 이동하십시오 선택하신 사람의 버전을 다운로드하십시오 커뮤니티 버전은 무료입니다

따라서 이것을 쉽게 다운로드 할 수 있습니다 좋아요, 그래서 당신이 다운로드하는 방법을 알고 싶습니다 이 두 가지를 설치하십시오 pycharm을 다운로드 한 후, 설치를 완료해야합니다 및 설치 프로세스

이미 내 PC에 다운로드되었으므로, 나는 파이썬에 뛰어 들고 G를 설치하는 방법을 보여줄 것이다 괜찮아 일단 설치가 끝나면 pycharm의 설정이 pycharm을 열면됩니다 다음 화면이 나타납니다 새로 파이컴을 설치 했으니 까

여기에있는 프로젝트는 볼 수 없습니다 그래서 새로운 프로젝트를 만들자 파일로 이동하여 새 프로젝트 옵션 선택 여기에 원하는 새 프로젝트 이름을 지정하십시오 나는 그 이름을 웹 프로젝트로 줄 것이다 그리고 저는 create를 사용할 것입니다

그래서 나는 모두가 분명히하기를 바란다 Python과 pycharm을 설치하는 방법 너희들에게 의심이 있다면, 채팅 상자에서 알려주세요 우리 팀이 당신을 도울 것입니다 여러분, 채널에 가입했는지 확인하십시오

에디 리카 (Eddie Rekha)의 더 재미있는 비디오를 찾으십시오 따라서 여기에서 볼 수 있듯이 웹 프로젝트가 생성되었습니다 현재 디렉토리 내에서 그래서 그 후, 터미널을 열고 여기로 올께 나는 Pj Django 명령을 사용할 것이다

장고를 설치하는 데는 잠시 시간이 걸릴 것입니다 그래서 장고를 설치할 때 Django와 함께 SQL 구문 분석 데이터베이스 PYT 세트 모듈도 설치됩니다 SQL 막대는 실제로 파이썬에 대한 SQL 파서 유효성 검사에 대해 그것은 분할 분석을 지원합니다 및 SQL 문 형식 지정

이제 이것은 실제로 호환 가능합니다 Python의 버전은 27입니다 pyd는 실제로 타사 모듈입니다 Alston TZ 데이터베이스를 파이썬 애타게 가져옵니다

그것은 실제로 표준 시간대 녀석을 의미합니다 이 라이브러리는 정확하고 크로스 플랫폼이 가능합니다 파이썬 2 포인트 4 이상을 사용하는 시간대 계산 또한 모호한 시대의 문제를 해결합니다 괜찮아

그래서 일단 Django가 설치되면, 장고를 성공적으로 설치했다는 메시지를 던집니다 그 버전과 PYT의 버전 해당 모듈과 SQL 구문을 교차 체크합니다 Django를 설치하면 명령 프롬프트로 이동합니다 python -M Django 명령을 사용하십시오 지금이 명령을 사용할 때 버전을 반환해야합니다

설치되어있는 Django의 버전 그래서 나는 모두가 똑같이되기를 바랍니다 괜찮아 자 이제 이것을 닫으십시오 나는 어떤 사람들에게도 이것으로 모든 사람들이 분명히 희망하기를 바란다

채팅 상자에서 알려주세요 왜냐하면 우리 팀이 항상 당신을 도울 수 있기 때문입니다 이제 Django 프로젝트를 만들자 이 프로젝트 내에서 Django – admin start project 명령을 사용합니다

그리고 내 프로젝트에 이름을 알려줄거야 데모 프로젝트로 이름을 알려 드리겠습니다 괜찮아 이제 데모 프로젝트입니다 웹 프로젝트 디렉토리 내에 생성되었습니다

이 디렉토리를 열어 보겠습니다 여기 웹 프로젝트를 보여줍니다 그것이 만들어졌습니다 프레젠테이션 모드로 가보겠습니다 보러 가겠다는 것을 보여주고 파일을 선택하겠습니다

내가 원하는 것과 터미널 여기에서 데모 프로젝트 디렉토리에서 볼 수 있습니다 내 프로젝트와 같은 이름의 다른 디렉토리가 있습니다 Django가 만든 파일이 있습니다 관리 도트 py 파일로 남자 py 파일이 아니라 실제로 명령 줄 유틸리티입니다 Django 프로젝트와 상호 작용할 수 있습니다

녀석들을 걱정하지 마라 우리는 이것을 여러 번 사용할 것입니다 그래서 당신은 이것에 익숙해 질 것입니다 지금 이 디렉토리를 열고 생성 된 첫 번째 파일의 내용 이 디렉토리 내에서 그 점에서 이제는 점이 그 점에 py는 실제로 빈 디렉토리입니다

이는 패키지로 간주됩니다 그 후 거기에 뭔가가 왜 설정이 P로 불리는이있다 실제로 모든 그 이후의 현재 프로젝트에는 불필요하지만, 그것의 URL을 점이 py 시작 URL을 py는 모두로 구성되어있다 이 프로젝트의 URL 선언 마지막으로 wsgi dot py 파일 여기서 wsgi는 웹 서버 게이트웨이 인터페이스를 나타냅니다 자, 이것은 실제로 전화 회의 관중들입니다

웹 서버가 웹 응용 프로그램에 요청을 전달하는 방법 또는 다른 서버 모든 사람들이 여기까지 명확 해지기를 바랍니다 의심이 있으시면 채팅 상자에 알려주십시오 좋아, 이제 확인해 봐 내 프로젝트에서 연결할 수 있다면 웹 서버에

CD 명령을 사용하여 프로젝트에 들어가겠습니다 그리고 나서 py에서 관리되는 Python을 사용할 것이다 서버를 실행 내가 당신에게 말했듯이 관리 도트 py5는 서버에 연결하는 데 도움이됩니다 그러면 IP 주소가 반환됩니다 그래서 그 주소를 클릭하면, 로켓이있는 스크린이 보일거야

이륙 할 준비가되었습니다 축하해 로켓이 움직일 준비가되었습니다 즉, 자신 만의 웹 사이트를 만들 수 있습니다 그래서 나는 알고있다

그 이후에 모든 사람들이 그렇게 할 자신의 웹 사이트, 나는 화환으로 돌아가서 너희들에게 보여줄거야 자신의 웹 사이트를 만들려면 정확히 무엇을해야합니다 그래, 내 웹 사이트를 만들려면, 내가 할 일은 데모 프로젝트 내에서 앱을 만드는 것뿐입니다 Ctrl 키를 사용하여 터미널에 컨트롤을 반환합니다 여기

내 프로젝트에서 새 앱을 만들겠습니다 쪽지를 만들어주세요 하나의 프로젝트가 n 개의 앱을 가질 수 있음 즉 모든 앱을 포함 할 수 있습니다 프로젝트 내에서 앱을 만들려면

나는 같은 명령을 사용할 것이다 파이썬은 py를 관리하고 서버를 실행하는 대신에 관리합니다 시작 앱 명령을 사용하고 앱에 이름을 지정합니다 데모 앱으로 이름을 알려 드리겠습니다 이제 앱 내 프로젝트가 생성되었습니다

이걸 열어서 선물이 무엇인지 보여 드리겠습니다 이 데모 응용 프로그램 내에서 그래서 Django가 프로젝트 내에서 우리를 위해 파일을 생성 한 방법 우리가 만들었을 때 새로운 앱 Django가 우리에게 필요한 파일을 만들었습니다 그래서 이것은 장고는 필요한 모든 코드를 작성합니다 웹 사이트의 특정 코드를 작성하기 만하면됩니다

파일을 수정하면됩니다 현재있는 파일을 다음과 같이 추가하십시오 당신의 선택에 따라 첫 번째 파일 여기에서 열어 볼 내용은 뷰 py와 당신이 여기에서 볼 수 있듯이 장고는 이미 나를 위해 가져온 렌더링 HTTP 응답 기능을 사용하고 싶습니다

그래서 장고 http에서 사용하겠습니다 HTTP 응답을 가져 오십시오 철자 맞추기에주의하십시오 이제이 파일 내에서 새 함수를 만듭니다 def 키워드 사용 함수의 이름을 높게 지정하겠습니다

이 기능에 요청한 하나의 매개 변수를 전달합니다 이 함수 내에서 나는 하나의 return 문을 쓸 것이다 HTTP 응답 기능 사용

실제로이 함수가 말하는 메시지를 반환하기를 원합니다 이것은 내 웹 사이트의 홈페이지입니다 나는 그것을 문자열로 넣을 것이고 나는 이것을 위해 H1 태그를 사용할 것이다 여긴 내 홈페이지 야 H1 태그 / H1을 닫을 것입니다

그래서 여기 파이컴에서 볼 수 있듯이 이 라인을 강조 표시했습니다 내가 HTTP 응답 함수를 사용하고 있기 때문이다 내 코드의 첫 번째 줄이 강조 표시되지 않았습니다 왜냐하면 저는 지금 어디서나 render 함수를 사용하지 않기 때문입니다 나는 render 함수를 사용하지 않을 것이다

그러나 나중에이 방법을 사용하는 방법을 보여 드릴 것입니다 괜찮아 이제 프로젝트에 대한보기를 만들었습니다 하지만이 파일을 연결할 수 없어요 URL에 서서 존재하는 py 데모 애플 리케이션 에서이 URL에보기 점을 연결하는 dot py 다른 URL 도트를 만들어야합니다 py 데모 앱 디렉토리 내에서 그 URL은 py가있는 URL에 점을 찍었습니다

py는 데모 프로젝트에 있습니다 혼란스러워하지 마십시오 내가 여기서 할거야 이 동영상은이 후 사용할 수 있습니다 혹시 의심이 든다면 다시 통과 할 수 있습니다

그래서 저는 수액 내에 새로운 파일을 만들 것입니다 그것은 파이썬 파일이 될 것입니다 이름을 URL start py로 지정하겠습니다 그리고이 URL은 py와 매우 흡사합니다 해당 URL에 데모 프로젝트 파일에 있습니다

데모 프로젝트 디렉토리에있는 py에 대한 URL을 엽니 다 그리고 from 문을 복사합니다 Django에서 URL을 가져 오는 부분입니다 및 URL 패턴 목록 나는 이것을 복사 할거야 내 앱에서 URL 시작 py 현재로 이동합니다

여기에 여기에 붙여 넣을거야 내가 뷰 py를이 URL에 매핑하기 때문에 시작 파이 내가 할 일은에서 사용하는 것입니다 현재 디렉토리에서 의미합니다 URL 패턴 내에서보기 가져 오기 I 이 관리 경로가 필요하지 않습니다 그래서 나는 이것을 제거하고 그 이름을 공란으로 남겨 둘 것입니다

이걸 내 홈페이지와 여기에 매핑해야하기 때문에 뷰 점을 사용할 것입니다 안녕하세요 그것은 단지 내 기능의 이름이고 나는 이 경로의 이름 원하는 이름을 지정할 수 있습니다 그냥 홈페이지 홈페이지로 이름을 알려주세요

괜찮아 그래서이 후 내가해야할 일은이 URL에 py를 매핑하는 것입니다 데모 앱에있는 URL에 py가 있습니다 데모 앱에있는 URL 시작 py를 열어 보겠습니다 여기

나는 새로운 길을 만들어 줄 것이고 나는 빈 줄을 줄 것이다 내 홈페이지에 매핑되기를 원하기 때문입니다 이미 내가 너에게 모두 말했듯이 미안 해요 include 함수를 가져와야 할 것이다

그래서 Django dot URL에서, 나는 include 함수를 가져올 것이다 그리고 여기에, 나는 include 함수를 사용할 것이다 데모 앱에있는 URL을지도로 표시합니다 그리고 나는 이것을 닫을 것이다 그래서 그 후, 내 터미널로 가서 사용하자

파이썬은 dot py 실행 서버를 관리합니다 방금 이름을 잘못 붙였습니다이 앱은 데모 앱입니다 네가 여기서 볼 수 있듯이, IP 주소로 다시 돌아 왔습니다 이 IP 주소를 클릭하겠습니다

로켓 대신 축하해 이전에 보았던 페이지가 기본 페이지였습니다 내 웹 사이트에 내가 원하는 모든 것을 표시합니다 그래서 이것은 메시지였습니다 내 홈페이지에 표시하고 싶습니다

그건 내 홈페이지 야 이제 나는 파이컴으로 돌아가 볼게요 이 페이지를 수정하여 웹 사이트를 만드는 방법 Ctrl 키를 사용하여 컨트롤을 터미널로 되돌려 놓겠습니다 그래서이 프로젝트 내에 HTML 코드를 작성합니다

당신이해야 할 일은 새로운 디렉토리를 만드는 것입니다 귀하의 응용 프로그램 디렉토리 내에서 그리고 그것은 템플릿 디렉토리가 될 것입니다 지금 이것들은 특정 템플릿입니다

이 프로젝트에 그리고 다른 곳을 보는 대신에 장고는이 디렉토리를 조사 할 것입니다 필요한 템플릿 templates 디렉토리 내에서, 내 애플 리케이션과 같은 이름으로 새 디렉토리를 만들 것입니다 혼란스러워하지 마라

이 놈 이랑 실제로는 장고 협약입니다 특정 프로젝트 코드 작성에 도움이되는 따라서이 데모 앱 내에서, HTML 코드를 작성하고 싶습니다 그래서 모든 HTML 코드를 작성하기 위해 새로운 HTML 파일을 생성 할 것입니다 내가 원하는 나는 단지 High Dot HTML이라는 이름을 줄 것이고 나는 괜찮다고 말할 것이다

그래서 장고가 이미 볼 수 있듯이 나를위한 최소한의 HTML 코드 나는 Eddie에게 표제를 단지 바꿀 것이다 원하는 제목을 몸 안에 줄 수 있습니다 나는 단지 Hi를 쓸 것이다 이 후에 앱 스토어 py 파일을 열어 보겠습니다

이 수업의 이름을 복사하고 설정 점으로 이동 py 현재 내 데모 프로젝트와 여기에서 나는 설치된 애플 리케이션을 찾습니다 새로운 앱을 만들 때마다, 여기에 문자열을 추가해야합니다 앱의 이름, 데모 앱입니다 철자법에주의하십시오

실수를하면, 그것은 많은 오류를 던질 것이고 당신은 할 수 없을 것입니다 왜 그런 실수를 저지르고 있는지 이해해야합니다 초보자의 경우 때때로 매우 혼란 스럽습니다 이러한 오류를 디버깅 할 수 있습니다 저기서 조심하세요

그래서 내 앱의 이름으로 돌아 가자 데모 앱은 도트 애플 리케이션의 클래스 이름을 점으로 표시합니다 우리는 거기에서 복사했습니다 그냥 여기에 붙여 넣을거야 여기서부터 쉼표를 지정하겠습니다

다시 내 전망 점 py 파일로 이동합니다 이 HTTP 응답 대신 나는 render 함수를 사용할 것이다 그래서 나는 이것을 제거 할 것입니다 렌더링을 반환합니다

요청 함수를 지정하고 문자열 내에서 현재있는 HTML 파일을 지정합니다 데모 앱에서 그래서 데모 애플 리케이션 / hi는 내 파일의 이름 인 HTML을 나타냅니다 얘들 아, 같은 이름을 써주세요

당신이 당신의 파일에 주었던 나중에 다시 서버를 실행합니다 그래서 파이썬 – 서버를 실행합니다 우리 서버로 돌아가서 무슨 일이 일어나는 지 봅시다 그래서 당신이 여기에서 볼 수있는 것에 따라, 제목이 기본 주소에서 변경되었습니다

Eddie Rekha에게 내 홈 페이지에 안녕을 말하는 메시지가 표시됩니다 그래서 지금까지 모든 사람들이 모든 것을 분명히하기를 바랍니다 내 HTML 파일로 돌아가는거야 내 웹 사이트를 만들려면 몇 가지 수정을해야합니다 그래서 지금 내 자신의 웹 사이트를 만들 수 있습니다

이 HTML 페이지를 수정하려고합니다 여기서 끝나면, 너 성공 했어 지금 웹 사이트를 만드는 데 필요한 모든 작업 그런 다음 프로젝트 별 HTML 코드를 지정하십시오 몇 가지 기본적인 것들을 보여 드리겠습니다 여기서 HTML을 사용하여 할 수 있습니다

그래서 모든 사람들이 HTML의 기본 사항을 알고 있기를 바랍니다 메시지를 최고로 바꾸자 에듀 레카를 환영합니다 좋아, 두 번째 줄만 지정하면된다 내 페이지의 일부 h2 태그와 새로운 메시지가 말하는 그건 내 웹 사이트 야

이것을 저장하고 서버를 재실행하겠습니다 나는 내 서버로 돌아가서 페이지를 새로 고침 할 것이다 그래서 여기에서 볼 수 있듯이, H1 태그는 에드 리카에 환영을 표하고 두 번째 태그는 환영합니다 H2 태그가 내 웹 사이트라고합니다 그래서 이것은 자신 만의 HTML 코드를 작성하여 너의 프로그램 얘들 아

이제 목록을 작성하기 위해 여기에 몇 가지 목록을 작성하겠습니다 정렬 된 목록으로 지정할 수 있습니다 또는 주문 목록에 대한 정렬되지 않은 목록 나는 올 태그를 사용하고 정렬되지 않은 목록을 위해 사용해야 할 것이다 여기에 UL 태그를 써야합니다

정렬되지 않은 목록을 사용합니다 이 목록 내에서 목록 요소를 지정합니다 첫 번째 요소는 파이썬이고 두 번째 요소는 두 번째 요소입니다 나는 우리에게 Java 또는 뭔가를 줄 것이다 좋아, 이걸 내 서버로 다시 보내 줄게

이 페이지를 새로 고침하십시오 그래서 당신이 여기에서 볼 수있는 것에 따라, 여기에 순서가없는 목록이 생성되었습니다 이제는 여기에 탁자 만드는 법을 보여 주도록하겠습니다 그래서 테이블을 만들려면 귀하의 웹 사이트를 위해 당신은 테이블 태그를 사용할 수 있습니다 그리고 내 경우에 당신이 원하는 스타일을 지정하십시오

나는 너비를 줄 것이다 50 % 내가 이것을 닫을거야 테이블 안에서 TR을 가질 수 있습니다 및 TD 태그 TR 태그는 실제로 테이블 행의 경우 th는 표제 표제의 경우입니다

TD는 테이블 열에 사용됩니다 닥터 태그를이 TR 태그 안에 쓰고, th 태그를 지정하겠습니다 파이썬으로 표제를 붙이자 그리고 나는 다른 표제를 줄 것이다 자바로 이렇게 후에, TR 태그를 사용하여 다른 행을 만듭니다

그리고이 내에서 열을 지정합니다 그래서 나는 TD 태그를 사용할 것이고 단지 지정 만 할 것입니다 파이썬과 자바에서 사용할 수있는 IDE 파이썬에서는 pycharm을 사용할 수 있습니다 그냥 이걸 복사하겠습니다 Java의 경우 Eclipse를 사용할 수 있습니다

그래서 파이컴에서 이클립스로 이름을 바꿀 것입니다 그리고 나는 이것을 구할 것이다 그래서 여기에서 볼 수 있듯이 테이블이 만들어졌습니다 하지만 여기있는 내 테이블에는 테두리를 내 테이블에 추가 할 테두리 나는 내 HTML 페이지로 돌아갈 것이고 여기에서 머리 위로 이동할 것이다

스타일 태그를 사용하겠습니다 그리고 스택 내에서 어떤 테두리를 지정합니다 나는 내 식탁을 원해 이걸 저장하고 내 페이지를 다시 불러 보겠습니다 그래서 당신이 여기에서 볼 수있는 것에 따라, 나는 스타일 태그를 포함했다

내가 원하는 테두리를 지정했습니다 그래서 같은 방법으로 여기 내 서버에 테이블이 생성되었습니다 HTML에 대해 더 많이 알고 배우기 위해 지정된 스타일로 아름다운 웹 사이트를 만드는 방법 부트 스트랩 웹 사이트로 이동할 수 있습니다 여기에서 코드를 가져올 수 있습니다

당신이 당신의 웹 사이트를 원한다 그래서 저는 이것을 사용할 때 일어날 일을 보여 드리겠습니다 그래서 부트 스트랩 스타일을 사용하자 머리 속에 있어야합니다 그래서 나는 그것을 여기에 붙일 것이다

이걸 저장 해줘 내 서버로 돌아가서이 페이지를 새로 고침하겠습니다 여기에서 볼 수 있듯이 작은 코드를 사용하는 사람들 부트 스트랩 웹 사이트에있었습니다 내 웹 사이트는 이것 전에 무엇을보고 있었는지 이 부트 스트랩 웹 사이트를 사용하여 자신의 아름다운 웹 사이트

괜찮아 그래서 우리는이 프로젝트의 끝으로 나아갑니다 그래서 나는 네가 모든 일에 명쾌하길 바래 이 세션에서 다루었습니다 질문이나 제안이있는 경우, 코멘트 섹션에서 알려주십시오

내가 너를 가장 이른 일로 되 돌릴거야 돌봐 이 비디오를 듣고 즐거웠 으면 좋겠습니다 그것을 좋아할 정도로 친절하세요 의심과 검색어에 대해 의견을 말할 수 있습니다

우리는 그들에게 대답 할 것이다 Earliest에서 우리 재생 목록의 더 많은 동영상을 찾습니다 Edureka 채널을 구독하여 더 자세한 정보를 얻으십시오 행복한 학습

Django 2.1.5 Install 2019 – Python, PIP, Virtualenv and Connect with LocalHost in Windows 10

안녕하세요, Shaharear에 오신 것을 환영합니다 나는 당신과 함께 Shaharear입니다

설치 시간이야 django 당신은 python을 다운로드해야합니다 이제 django를 다운로드해야합니다 예 명령 줄에서이 키워드를 바로 설치하고 설치를 기다립니다 언젠가 설치가 완료되면 바로 지금 다른 키가 보일 것입니다

여기에 복사하여 붙여 넣기 나는 아래의 설명에 이것을 줄 것이다 오케이, 다운로드를 기다린다 django는 백엔드를 수행하는 기계 학습을 위해 Python에서 항상 매우 중요합니다 웹 사이트 이제 django 설치에 성공했습니다 두 번 성공적으로 다운로드했습니다 중요한 파일 바로 여기 장고 다운로드에 대한 우리가 django를 설치합니다

괜찮아 나는 여기 쓰고있어 거기에 클릭하고 장고가 설치됩니다 잠시 기다려주십시오 지금 django admin 프로젝트 프로젝트 이름을 입력하십시오 어떤 이름이든 공유하고 싶습니다 이리 이 오른쪽의 Cd 점은 프로젝트 이름을 슬래시 한 다음에 오케이 슬래스트 그래서 우리는 이제 xamppi 평균 로컬 서버와 연결하는 폴더를 만들 것입니다 그것을 시험해보십시오

파이썬은 py runserver를 지금 관리하고 있습니다 귀하의 브라우저와 그 localhost locah로 이동하는 것은 5000과 동일합니다 당신은 localhost 연결 괜찮아 python을 성공적으로 설치되어 있다고 말할 것입니다 나는 장고가 성공적으로 설치되었다는 것을 의미한다 그래서 그건 내 비디오 야 친구와 버튼 공유를 구독하세요

Django Web Development with Python Introduction

Django로 파이썬에서 웹 개발 튜토리얼을 업데이트하는 것을 환영합니다 장고를 다루는 3 년이 지났습니다

그래서 나는 작은 업데이트를 할 시간이라고 생각한다 게다가, 이번에는 모두가 좀 더 깊이있는 것을 요구하고있었습니다 그래서, 잘하면 총 1 발으로 2 마리를 죽일거야 여기 장고 페이지가 있습니다 당신은 정말로 들어갈 필요가 없지만 이것은 당신의 사이트입니다

그들에게는 문서화와 그 모든 것들이 있습니다 그들은 또한 다음과 같은 가치있는 꽤 괜찮은 튜토리얼을 가지고있다 특히 그들이 장고에서 어떻게 작동하는지 혼동한다면 장고는 당신을위한 커다란 초기 투자와 같거나 적어도 대다수의 사람에게는 모델 – 뷰 컨트롤러의 모든 것을 이해하는 것이 작동하기 때문에 그리고 만들어야 할 모든 연결 처음에는 상당히 어려울 수 있습니다 하지만 네가 있으면 내가 약속 해 끝내 볼만한 가치가있어

프로젝트가 성장하기 시작하고 변경해야 할 때 또는 새로운 것을 추가하고 Django와 같은 고품질의 것을 사용하십시오 그것은 장기적으로 당신을 위해 믿을 수 없을 정도로 쉽게 만들 것입니다 시작하기가 조금 더 어렵습니다 하지만 잘하면 당신을 좀 더 쉽게 만들 수 있습니다 너무 많은 이야기, 나는 장고를 배우는 가장 좋은 방법이라고 생각한다

그것은 단순히 그것을하고있다 나는 그들이 파이썬의 기초를 알고 있다고 가정 할 것이다 그렇지 않은 경우 기본 자습서를 참조하십시오 당신은 pythonprogrammingnet에 갈 수 있습니다

그들은 기초에 와서 거기에 일련의 기본을 가지고 다른 사람의 것을 보거나, 파이썬의 기초를 알아라 음, 시작합시다 내가 언급하고 싶은 몇 가지 : 텍스트 편집기 SublimeText를 사용합니다 당신은 숭고함을 사용해서는 안되며, 원하는 편집기를 사용할 수 있습니다 원한다면 메모장 ++ 또는 메모장을 사용할 수 있습니다

PyCharm 또는 원하는 것을 원하는대로 사용하십시오 다른 하나는 내가 Windows에서 개발의 일부가 될 것입니다 그리고 나서 리눅스 서버에서 왜냐하면 당신이 웹 사이트를 시작하려고한다면 당신은 아마 그것을 사용하기 위해 리눅스를 사용할 것이기 때문에 운영 체제는 중요하지 않습니다 나는 Mac에서 꽤 발전했다 Windows 및 Linux에서도 중요한 것은 아닙니다

우리는 파이썬 37을 사용할 것입니다 그래서 이미 파이썬이 설치되어 있다고 가정합니다 그걸로 시작하자 내가 할 첫 번째 일은 희망을 갖고 침을 흘리지 않는 것이다

콘솔 열기 우리는 다음과 같이 쓸 것이다 : pip install Django Linux 또는 Mac을 사용하는 경우 반드시 파이썬 대신 파이썬 3을 써야합니다 그런 다음 Django 또는 그와 비슷한 것을 pip install 당신이 Windows에 있다면 그것은 핍입니다 Python의 많은 버전을 가지고 있다면 py-37 -m pip install과 비슷할 것이다 내가 말했듯이, 당신은 이미 그것들 모두를 알고 있다고 가정하고 있습니다 우리는 Django 2

15를 사용하고있다 나와 같은 버전을 사용할 필요는 없다 상황이 진행됨에 따라 상황이 약간 달라질 수 있습니다 내가 본 것에서 많은 것들이 반대로 호환됩니다

모든 것이 잘되고, 일들이 비참하지는 않지만 때때로 어떤 이유로 든 무언가가 작동하지 않으면 당신은 내가 사용하고있는 것과 같은 버전을 설치하려고 할 수있다 버전의 차이인지 확인하려면 예를 들어 원한다면 : pip install Django == 215 그러면 버전 21

5가 정확하게 설치됩니다 생성을 시작하기 전에 최신 버전의 장고를 사용하고 있는지 확인하십시오 시간이 지남에 따라 변화하는 많은 것들이 있습니다 그 중 하나가 보안 패치입니다 그래서 당신이 장고의 옛 버전을 사용한다면 당신은 실수를 할 수있다 내가 사용하고있는 특정 버전을 설치해야하는 유일한 이유 자습서를 따라 할 수 있습니다 Django에 대해 배우고 그 차이점을 알아 봅니다

예를 들면 : Django 2와 25 아마, 첫 번째 숫자가 변경되지 않으면 Django 3 점과 같은 것입니다 문제없이 자습서를 확실하게 따라갈 수 있습니다 어디 보자 설치를 마쳤다 장고를 설치하면 django-admin이라는 콘솔 명령이 생깁니다 우리는 장고 관리자와 함께이 모든 것을 할 수있다 그러나 우리가 할 주요한 일은 프로젝트를 시작하는 것입니다 그리고

나는 생각하고있다 아마 django-admin과 함께 할 주요한 것들 중 하나 일 것입니다 당신은 분명히 장고 관리자와 함께 여러 가지 일을 할 수있다

하지만 당신은 다른 스크립트를 사용하고있을 것입니다 우리는 django-admin startproject를 썼다 우리는 프로젝트 mysite를 호출 할 것이다 장고가 작동하는 방식은 모든 웹 사이트가 앱 모음임을 가정한다는 것입니다 분명히 앱 일 수있다

하지만 아마도 앱 모음 일 것입니다 포럼, 상점 및 블로그 등이있는 사이트를 고려해보십시오 모든 것이 다른 앱이고 포럼 앱, 스토어 앱, 블로그 앱이 있습니다 그건 장고가 어떻게 보는지입니다 우리는 프로젝트를 시작했고 프로젝트는 mysite라고 부릅니다

mysite 내에는 일을하는 앱 그룹이 있습니다 pythonprogrammingnet과 같은 웹 사이트를 만들어 보겠습니다 나는 pythonprogrammingnet을 장고로 바꾸는 것을 고려하고 있었다

그것은 현재 Flask에 쓰여있다 앞서 언급 한 이유로 프로젝트가 성장함에 따라 플라스크에서 새로운 것을 추가하고 다른 것을 바꾸려고하면 매우 지루할 정도로 높아집니다 장고와 함께하지 않습니다 이것은 항상 나에게 연상 만화를 연상시킨다 '나는 다시 해냈다 그렇지?' 행운을 가져서는 안되는 것이 아무것도 없다

안전 검색이 활성화되었습니다 이것은 내가 항상 생각하는 만화이다 당신은 프로젝트를 시작하고, 당신은 위대한 일을하고 있다고 생각합니다 그리고 마지막으로, 당신은 그런 것을 보게됩니다 처음에 우리가 장고를 준비 할 때 우리가 이것을하는 것처럼 느껴질 것입니다

하지만 그 일은 그보다 더 복잡하지 않을 것입니다 pythonprogrammingnet과 같은 프로젝트에 반대합니다 많은 작은 연결이있는 곳 정말 도전이다 장기적으로 장고를 사용하는 것이 가치 있다고 생각합니다

처음에는 들어가기가 약간 어렵습니다 startproject mysite 우리는 mysite를 믿고 일어날 일은 우리가 새로운 디렉토리를 가질 것이라는 것입니다 mysite라고하는 이것이 당신의 프로젝트입니다 프로젝트 내에 mysite라는 다른 디렉토리가 있습니다 그리고 나서 우리는 다음에 오는 많은 일을하기 위해 우리가 사용하려고하는 manage

py를 가지고있다 mysite 디렉토리 안의 앱과 거의 같습니다 하지만이 말을 참조 할 것입니다 아마도 장고에는 특정 용어가있을 것입니다 단지 모르겠습니다

나는 이것을 '기본 앱'이라고 부를 것이다 이 응용 프로그램 내에서 – 정말이 응용 프로그램이 할 일은 다른 응용 프로그램을 가리키는 것입니다 – 너는 이것을 사용하지 않을 것이다, 너는 여기에서 개발하지 않을 것이다 하지만 다른 앱을 가리키고 설정을 재생합니다 그 외에 너는 여기서 다른 일을하지 않을 것이다 이 디렉토리로 돌아가서 우리는 manage

py와 놀고 싶다 Shift + 오른쪽 클릭을하거나 여기에 cmd를 입력하면 여기에 콘솔이 열립니다 또한 콘솔을 열어야합니다 우리가 할 첫 번째 일은 앱을 시작하는 것입니다 파이 -3

7 파이썬을 넣을 수있는 것은 실제로 하나의 버전 만 있기 때문입니다 어느 쪽이든, py -37 managepy startapp 우리는이 앱 메인이라고 부를 것입니다 이것이 웹 사이트의 핵심이 될 것입니다

내 경우에는 자습서를 넣을 곳입니다 주요 측면은 튜토리얼입니다 자습서라고 부를 수 있습니다 하지만, 아마도 다른 것들을 메인 플러스 튜토리얼에 넣고 싶을 것입니다 그래서 나는 지금 그것을 메인이라고 부를 것이다

우리는 메인이라는 앱을 만들었고 우리가 여기에 다시 와서 우리가 볼 수 있어야합니다 우리는 main이라는 다른 디렉토리를 가지고있다 우리가 열면 mysite 디렉토리, 우리의 기본 앱과 매우 유사하게 보입니다 하지만 우리는 몇 가지 여분의 것들을 가지고있다 우리가 볼 수 있듯이 우리는 모델을 가지고있다

뷰 (뷰), 컨트롤러 (컨트롤러) 우리에게는 정말로 어떤 운전자도 없다 그러나 우리는 그것에 도착할 것이다, 나는 약속한다 이제 우리가하고 싶은 것은 어서 가자 – 나는이 달리기를 떠난다 내가 할 일은 2 개의 콘솔을 가지고있는 것입니다 처음에는 managepy-를 사용하겠다

runserver를 작성해 보겠습니다 이것이하는 일은 개발 서버를 실행하는 것입니다 이론적으로 당신은 이것으로 웹 사이트를 운영 할 수 있습니다 그러나 그것은 추천하지 않는다 아마도 보안상의 이유를 포함한 여러 가지 이유로 우리가 나중에 걱정할 수있는 몇 가지 마이그레이션 문제가 있음을 알 수 있습니다

우리는 주로 사이트가 localhost 포트 8000에서 실행되고 있음을 볼 수 있습니다 그럼, 거기 가자 우리가 가진 것을 보자 치다 좋아요, 우리는 당신에게 모든 것이 비교적 잘 작동한다는 것을 알리는이 아름다운 이미지를 가지고 있습니다 이 디스플레이가있는 대신 나는 그것이 통제하는 것이 훨씬 더 차갑다고 생각한다 '우리는 어떻게이 모든 것을 바꿀 것인가? 그럼, 가자

우선, 뷰 컨트롤러 모델은 역순으로 작동합니다 너는 운전사가있어 그것은 기본적으로 누구든지 그것을 작성하거나 링크를 클릭 한 URL을 취합니다 컨트롤러는 해당 URL을 가져 와서 뷰에 매핑합니다 그보기는 모델을 반환합니다

대부분의 경우 뷰가 모델과 상호 작용합니다 그러나 그것은 실제로 일어나지 않아도된다 당신은 컨트롤러와 뷰를 필요로합니다 그럼, 해보 죠 그래서 우리는 이것이 어떻게 작동하는지 이해하기 시작할 수 있습니다

우리가 할 첫 번째 일은 내부에 main을 만들자 우리는 여기에 urlspy 파일이 없다 우리는 one- 우리가 할 수있는 다른 일은 mysite 내부로 들어가서이 URL을 가져가는 것입니다 py 나는 그것을 복사 할 것이고 나는 메인에 와서 그것을 붙여 넣을 것이다

이제 urlspy라는 파일이 생겼습니다 나는 왜 당신이 디폴트로 하나를 만들지 않는지 알고 싶다 앱을 만들 때 기본적으로 urlspy 파일이없는 이유 누구라도 알고 있다면, 알면 좋을 것입니다

이 컴퓨터를 처음 사용하면 나는 Sublime을 설치해야한다

042 in django Adding Bootstrap | django series| python tutorial for begineer

Entonces continuemos와 인스톨레이션 부트 스트랩과 프로듀서 Progento Gengel 독립적 인 전자 산업에 종사하는 자영업자, 전자 산업에 종사하는 자, 솔로 라 코스타 relacionadas con el arranque en el futuro를 참조하십시오

단편 소설, 단편 소설, 단편 소설 esta plantilla de inicio También vamos 및 사용 가능한 버전은 CS y javascript paras que las cosas se carguen más rápido입니다 자동차, 자동차, 교통, 자동차, 교통, 교통, 트래픽, 파라 미코 요 전기 공학, quiero 크라우드 어니스트 카펫 타 일러 라마 "부트 스트랩"은 (는) 애완 동물을 싫어 할 거리가 될만한 곳입니다 토양 및 토양은 토양을 뿌리 뽑을 때 유용 할 수 있습니다 캄보디아와 에스트로 오아시스의 불협화음은 없습니다

Pero lo que enár en entrar en mi comericio electrónico o porque 꼭두각시 poder 가장 최근에 esta página Esto es는 Django와 함께 하레 모네를 상상해 보았다 Django, 콩고 민주 공화국, 콩고 민주 공화국, 콩고 민주 공화국 Todd 계속해서, 단지 등록을 마쳤습니다 계속되는 부트 스트랩과 부트 덤프와 부트 덤프와 부트 덤프와 부트 덤프 fue solo una vista de plantilla como Verilog escribimos nuestro nombre de plantilla igual a 무료 온라인 게임 la barra de arranque

이미지 HD ML Muy bien,이 모든 것이 일치하는 경우도 있습니다 유능한 인물로 검증되었습니다 부트 스트랩과 부트 스트랩이 있습니다 테 니 모스는 프로그램을 준비하고 기능을 향상 시키며 다른 사람들과 대화를 나눌 수 있습니다

조심해라, 해초, 해초, 해초, 해초, Bien, excelente Asi que sigamos y sigamos

Python on Azure: Part 1—Building Django apps with Visual Studio Code | Azure Friday

>>이 첫 번째 에피소드의에서 우리의 네 계열에 Python Django와 Azure Carlton Gibson 탐험가 설정 하는 방법을 표시 하기 위해 Django는 Python 응용 프로그램 및 나머지 Django 프레임 워크 Visual Studio 코드를 사용 하 여 Python 확장 설치 통합 된 터미널을 사용 하 여 Azure 금요일 오늘 디버깅 합니다 >> [음악]

>>이 봐, 친구, Pythonistas Nina Zakharenko, 한 수석 난 클라우드 개발자 지지자에 Python에 초점을 맞춰 Microsoft입니다 오늘, 내가 여기와 Carlton Gibson입니다 그는 Django 동료 Django에 대 한 유지 관리자 나머지 Django와 함께 여러 프레임 워크 다른 응용 프로그램입니다 >> 안녕하세요 Nina

>> 환영 합니다 >> 감사 안녕하세요, 음, 좋아 오늘, 내가 여기를 보여합니다 Visual Studio 코드를 사용 하는 방법 Django 응용 프로그램입니다 따라서 예제 응용 프로그램 복제 한 필자는 나머지-프레임 워크-자습서 프로젝트 대부분의 사람들이 잖 아 쉽게 익힐 수 있습니다

간단한 코드 조각을 응용 프로그램에는 어디에서 API를 노출 코드 조각을 만들 수 있는 수 있습니다 다음 같은 코드를 코드 조각 강조 표시 됩니다 API를 찾아볼 수 있으십시오 고 나머지 모든 이 멋진 프로젝트 완벽 하 게 기능 이지만 하지 정말 커 방식으로 가져올 수 있습니다 >> 예, 다음과 같은 유용한 유틸리티입니다 >> 예 내가이 프로젝트를 복제 한 통합을 비주얼 코드를 나타냅니다

따라서 시작 하자입니다 여기에, 난 이미 있어 프로젝트 복제 하 고 그러니까 전문화 환경 설정입니다 그렇다면 그건 바로 해당 노트를 보여 단지 그 터미널을 종료 했습니다 없습니다 되도록 하 고 Safari를 숨깁니다 Visual Studio 코드를 열어 보겠습니다 >> 유용 합니다

>> 다음 열고는 "나머지-프레임 워크-자습서" 확인 하 고는 열기를 제공 합니다 자습서 응용 프로그램에서 조각 및 그렇게 되어 있는데 조각은 모델이 일반 Django 모델에서는 제목, 필드 전 실제 코드는 줄 번호, 언어 강조 표시 된 필드를 때의 아래로 모델 저장 안료를 통해 실행 구문 형광펜 코드를 강조 표시를 제공 하 고 있습니다 따라서 우리는 예를 보려면 작업 우리가 무엇을 할 수는 우리는 여기에서 터미널을 가져올 수 있습니다 따라서 내가 방금 사용 간단 새 터미널 하 네입니다 >>를 다시 T, 오른쪽? >> T 백 예, 제어를 할 수 있는 그를 여기 있는 메뉴

새 터미널을가지고 모든 종류의 작업을 실행 합니다 일을 진행 합니다 아니오, 걱정, 고민 먼저 것입니다 Visual Studio의 코드는 Python의 우수한 통합 설치 해야 하는 Python 확장 이 위해서는 가져올 따라서 이제 닫습니다 절대로 불가능 하므로 터미널 지금 내 작업

이 Python 확장 하기 구문 강조 표시를 사용 하면 코어 완성 제공 하면 수도 있습니다 그렇게 할 경우 Python을 사용 하 여 사용 하는 해야 하 고 정품 인증을 다시 로드 합니다 그래 그런 다음이 목록의 확장의 몇 가지 다른 것 들이 있어요 실제 프로그램 확장으로 Django 템플릿, 지원, 문서 내가 사용 하는 사항입니다 다시 살펴보겠습니다를 나중에 합니다

다시 modelspy를 열어보겠습니다 >> 했으므로 Python 확장 가능 하 고 설치 몇 가지 새로운 것은 다음 화면에서 오른쪽? >> 그래입니다 따라서 오른쪽 아래 로드에 표시 될 때 Python 인터프리터와 그 거 또한 코드 분석 수 배경에 따라서 여기서 다운 화려한 란 확인 자동으로 검색 내 가상 환경 선택 된 것을 하 고 사용 하는 우리 것을 사용 하 여 파일 식의 말은, "Pylint는 설치 되어 있지만 사용할 수 없습니다

" 따라서 pylint를 사용 하겠습니다 따라서,를 통해 우리 유용한 추가 코드의 서식을 지정할 때 그렇다면 저 걸 해 보겠습니다 터미널 다시 터미널을 열어야 합니다 지금, VSCode, 있기 때문에 내 가상 환경 자동으로 발생 합니다 것을 내 가상 환경을 활성화 합니다 >>를 위대한

>> 예 단지 적게 입력은 돌아다니는 적습니다 할 수 있는 하 고는 매우 익숙한 managepy 서버입니다 >> 따라서을 가져올 것 입니까 Django 응용 프로그램? >> 예

정확 하 게, 많은 같이 다음의 URL를 가리키면 수 있습니까 바로 먹을 수 클릭 하 고 역할을 할 여기 URL 열기 응용 프로그램입니다 따라서 이것이 말씀 드렸습니다 API 응용 프로그램 확인을 하 고 이것은 탐색할 수 있는 인터페이스 경우에 선택할 수 있습니다 다른 형식으로 JSON 형식을 선택할 수 있습니다 가져올 합니다

원시 JSON 응답을 깔끔하게 Firefox 강조 표시 됩니다 >> 우 와입니다 >> 작업을 완료 하는 추가 JSON 쿼리 매개 변수 형식 그리고 콘텐츠 협상을 통해 표시 형식을 변경합니다 >> 지금이 전체 아름 다운 API 브라우저 나머지 Django 프레임 워크의 일부 인지 확인 >> 예, 및 그런 나머지 Django 프레임 워크 즉시 사용할 수 있는 제공합니다 볼 수 있도록, 조각 됩니다

몇 가지 조각 데이터베이스에 가 있고 이 강조 표시 된 보기 안료를 액세스할 수 있습니다 구문 코드 조각 강조 표시 됩니다 따라서 응용 프로그램입니다 돌아가 응용 프로그램 루트입니다 전 일부 기능 및 표시 하는 방법 쉽고 빠른 방법 Visual Studio 코드 Python 확장 사용 Python 코드를 만듭니다 따라서 기능 여기 접수 했습니다

방금 알 았 어 것 약간 추가 합니다 그러므로 이제 우리의 터미널 숨기기 접수 했습니다만 IPR 준비 사용자를 고민 하 고 조각 되어 있는데 따라서 그룹과 동일한 때문입니다 우리가 계속 사용 하는

따라서 가장 먼저 있을 때 필요 추가 코드는 serializer입니다 따라서 필자가 한 작업은, 사용한 명령 패널 이 패널에 나타납니다 서명할 수 있는 모든 파일 이름과 그가 즉시 사용자 찾을 >>는 직렬 변환기를 설명 모델을 표시 하는 방법입니다 >> 그래입니다

>>에서 API 브라우저? >> 예, 정확 하 게 여기에서 자동 완성 정보 그룹화 합니다 따라서 여기서는 serializer를 사용할 수 있습니다 그러나 다른 하나를 만들어 보겠습니다 일부 좋은 얻을 여기 템플릿 사용 하 여 자동 완성 합니다

따라서, Visual Studio 코드 기술 코드를 만들 수 있습니다 템플릿 매개 변수를 사용 하는 쉽게 만들 수 있습니다 기본 구성 요소 코드입니다 >> 우 와입니다 >>에서 Mongo

단지 배치 일부 거기에서 줄 바꿈을 합니다 그러니까, 이므로 serializer가 있는 필드를 렌더링 하는 컨트롤 형식으로 기온 수 있는 있는 JSON 직렬화 합니다 그런 다음, 그 외에도 필요 추가 하는 보기입니다 그렇게 여기 위쪽에 다시 아마도 그룹 가져오기 해야 합니다 당신이 군, 자동 완성 알아야 하 고 여기에 보기를 만들어 보겠습니다

>>이 viewsets에 연결 보기에 사용 되는 모델입니다 >> 따라서는 보기는 그룹, 따라서 한 Django 함수를 볼 매핑하는 것입니다 HTTP 요청에 다시 한 보기 및 응답 그 중 그룹이입니다 따라서 한 보기 구현 post 메서드를 사용 하는 이 Git 메서드 읽기 전용 모델 보기 하면 목록 보기를 제공 합니다 그와 기본적으로 세부 정보 보기 그리고 즉시 사용할 수 없이 작업을 수행 합니다 이건 뭐 GroupSerializer? GroupSerializer 사용 정의 앞 때문에 이것이 우리 깜 빡 잊고 가져와야 합니다

지금 우리가 여기와 우리를 제기 하는 경우 추가할 수 위 GroupSerializer 전환 그건 어떤 필요 저장 한입니다 Serializer를 사용 하 여 보기는 의미 하는 것과 경로를 입력 해야 Url에 는입니다 따라서, 이것은 다시 표준 Django 물건입니다 라우터로 이동 하 고 등록할 수 합니다 해당 그룹에서 오늘날, 철자를 내가 수 없습니다

여기 있어요 "ViewsGroupViewSet"입니다 >> 등에, 답변 드리기 전에 우리를 어떻게 표시 하 이러한 서식 파일 적용 >> 그래입니다 >> 코드 단지에 대 한 반복적으로 입력 볼 수 우리 어떻게 구성 된 것? >> 예, 지금 확인, 화려한

따라서 바로 제공 사용 하 고 "사용자 이동 "조각 및 해당 "Djangocode-조각" 그런 다음 했 고 방금 파일 여기에 조각입니다 모델을 하자 시기 바랍니다 하 고 먼저 serialize 합니다 "모델 이라고 Serializer 가"한 후 거 야 인 경우에 범위는 그 Python을 사용 하 여 관련입니다 몇 가지 관련의

Javascript에 대 한 Python의 일부, 일부 HTML의 무엇이 든 접두사는 입력 하는 것입니다 따라서 만들 거 야 "모델 Serializer를" "직렬 변환기"를 입력 합니다 및 그런 다음 자동 완성을 선택합니다 >> "탭"을 누르면 따라서 다음에 놓입니다 본문 하 고 있습니다 이러한 변수를 입력 합니다

>> 그래입니다 따라서 여기에서는 자리 표시자에 대 한 전 "모델"이 때문에 아래와 "모델" "모델"도 라고 합니다 둘 다를 입력 수 있습니다 동시에 해당 합니다 "보기를 보면 조각 "바로 아래 "모델", "모델", "모델" 전

여기서 입력 하는 경우 그룹 보기 설정 그룹 모델 개체 또는 그룹을 반복적인 좀 가져옵니다 >> 절대적으로 >>이 서식 파일 사용 그 피할 수 있습니다 >> 예 >> 지금, 매우 신속 하 게 이러한 추가 했습니다

>> 약간 불행 명명 그러나 이러한 조각 Visual Studio 코드 조각 및 있던 조각을 하지 응용 프로그램의 일부입니다 >> 예, 정확 하 게 없습니다 Django REST 프레임 워크 자습서 예제 개체입니다 아니요 따라서 다음과 같은 여 폼을 다시 로드 터미널의 것 모두 다시 로드를 클릭 보시 죠와 고 해당 그룹이 나타납니다

이 많이 됩니다 프레임 워크 기능을 놓습니다 본 기사의 주제, 하지만 우리가 추가 하는 이러한 기능을 응용 프로그램을 거의 입력을 매우 빠르게 합니다 이것이 제가 좋아하는입니다 이 후 원하는 다른 사항 디버깅 하는 경우를 나타냅니다

>> 그래입니다 >> 응용 프로그램에서 지금 여기 "Django 추가 했습니다 Admin "조각 응용 프로그램입니다 관리자는 하나는 Django의 핵심 기능입니다 보여줄게요 이 경우 실제 코드 않기 때문에 것입니다

해당 터미널 창을 닫습니다 너 야 하기만 하면 되므로 정의 여기는 모델 관리 한 다음 특정 모델에 등록 Django를 제공 합니다 기본적으로 있습니다 이 전체 관리 UI, 아주 간단 합니다 >>를 놀라운 >> 시작도 특징 중 하나는 되 고 있습니다

내가 예제를 만듭니다 따라서 이렇게 되 고이에 버그가 있습니다 예를 들어는 약간은 하지만 실제 버그를 그렇게 또 실제 생활에서 따라서 API에서 사용자 고유의 코드 조각을 만들 수 있습니다 없는 관리 할 수 있지만 또는 무엇이 든, 저는 하나를 만들 것입니다

이것은 "강조 표시" 상자를 닫습니다 이제이 "강조" 상자를 모델 개발을 명심 해야 합니다 "저장" 함수에서 입력 했습니다 저장 하는 경우에 생성 되었습니다 >> 따라서 텍스트 상자를 표시 되지 않도록 강조 표시 된 코드를 포함 합니다

>> 정확 하 게 저장 하는 경우 강조 표시 된 코드 없이 오류가 발생 하 고 난 말하자면 "왜 그럴까요? 그 이유는 "? 따라서 이제는 디버깅 따라서 디버깅 하는 몇 가지를가지고 있습니다 우선, 때문에 이것은 새로운 세트 난 구성을 만들 수 있어 따라서 클릭 해 서 "추가 "구성 시작 하 고 Visual Studio의 코드 생성 기본값의 전체 집합 다른 환경의 Python을 디버깅 합니다

관련 된 것 우리는 다음과 같습니다 예를 들어가 Python Django입니다 따라서 "Runserver", 역할 및 제공 것이 오른쪽 명령 디버거를 실행할 수 있습니다 이제 하루만 추가 기능 하고자 Django 자체 내부 디버깅 합니다 >>는 훌륭한 입력을 시작 하 고 여기 자동 완성에는 여기와 약간의 설명서입니다

>> 예, 그 슈퍼와 내가 안 것 때문에 표준 디버그 해야 합니다 에 있는 항구를 찾는 것 I 반면 자동 완성 없는 경우는 할 일 하 고 내가 원합니다 설정 하려면 "true"입니다 때문에 "False"가 되는 경우 코드를 직접 디버깅할 수 있습니다 >> 확인 합니다 >> 사이트에 서 있지만 패키지와 거기에서 디버깅 합니다

죄송 하지만 하겠습니다 "Admin" 파일입니다 이제 디버깅 합니다 따라서 내 오른쪽을 저장 되지 않으면이 있습니다 전 모델 관리 이 오류는 형태로 "ModelAdmin"에 하고자 합니다 따라서이 작업을 수행할 수 있습니까 내가 마우스 오른쪽 단추로 여기을 클릭 하 고 에 "정의로 이동"

이것은 파일을 엽니다 Django 내부 "사이트 패키지입니다 Django Contrib 관리자 주 파일인 Optionspy " 기능

>> 무엇을 알 수 있습니다 등의 내부에서 진행 합니다 >> 예 어 머 낮은 만큼 무엇을 찾고 여기 특정 기호가입니다 따라서이 "메뉴 명령은"을 사용할 수 있습니다

즉, 검색으로 바로 가기 정확한 위치에 대 한 파일을 찾고, 검색 하 고 "변경 폼 보기" 이것은 Django 보기 " 처리 하는 기능 " 등록 해당 폼을 전송 하면 됩니다 따라서 여기에 아래 모델을 저장 하는 위치 유효한 경우에 말할 수 있습니다 하지만 분명히 "모델" 발생 하지는 확인 하고자 합니다 따라서 난 단지 여기를 클릭 하 고 추가할 수 있습니다 중단점에는 "관리 코드 Django"와 그런 다음 내 디버거를 실행할 수 있습니다

걱정, 그만 하겠습니다 단지 1 초 생각 했기 때문입니다 >> 따라서는 몇이 다양 한 구성 없습니다 있는지 확인 하려면 하나는 우리의 Django을 선택합니다 >> 당신은 아주 영리 하 군, 좀 봐

지금 내가 한 선택 중지, 걱정입니다 선택 했으면 이제, 모양 현재 파일에서 실행 하면, >> 권한입니다 >> 통합된 터미널 그건 전혀 우리에 게 나아지지 않을 그래입니다 Django를 선택 했는데 >> 그래입니다

>> 프로필을 원하고 "실행" 페어 프로그래밍의 경우에 훨씬 더 효율적입니다 >> 절대적으로 >> 확인, 화려한입니다 시작 해당 서버를 실행된 하지만 내부 디버거를이 막대 아래에 활성화 한

>> 오렌지입니다 >> 오렌지입니다 >>입니다 예 디버거가 활성화 되어 있습니다 >> 확인 합니다 따라서 우리가 간다 폼에 다시 오류가 발생 한 알 수 있습니다

갑작스럽게 모두, 하는 중단점이 적중 되 고 검사할 수 있습니다 여기, 우리는 즉 터미널 결과 보여 주는 실행된 "서버"입니다 내가 방금 하지만 전환 "디버그 콘솔"에 그런 다음 내가 검사할 수 있습니다, 내가 좀 더 완료 하는 데 따라서 내가 구문을 검사합니다 코드 조각 폼입니다 된 데이터에 바인딩된 전송 했습니다 "유효한 알 수 없음"입니다

따라서 살펴보겠습니다 폼이 유효 하 고 없습니다 따라서 오류입니다 따라서 어떤, 중단, 하지만 보시 죠 "Form

Errors"를 보자 >>를 것인지 알려 주십시오 폼을 사용 하 여 잘못 된 것입니다 >> "강조"는 등의 강조 표시 된 필드의 요구를 수 있도록 우리가 할 예상한 때문에 필요 합니다 설정할 모델 중 안전 합니다 >> 권한입니다

>> 등을 확인 합니다 지금은 하 사항은, 이제 무엇 인지 알고 있습니다 이제 방금 디버거를 중지 하 고 돌아가 "Adminpy" 이 과거를 작업을 다음

>> 예 >> 때문에 "읽기 전용으로 추가 필드"와 우리는 로 설정 하는 것 튜플 모듈도 하 추가 "강조"를 "읽기 전용 필드" 그래? >> 유용 합니다 >> 현재로 돌아올 것 "터미널" 우리를 수 것 "RunServer" 자신 합니다 >> 버그를 확인이 있습니다

>>도 합니다 >> 예 >> 보시 죠 따라서 I 때문에 폼을 다시 해야 합니다 디버깅의 경우 내 난 저기, 바로 여기에 몇 가지 코드를 배치 합니다

줄 번호를 예, 왜 하지? 나에 게 제공 합니다 여기, 이 강조 상자 더 이상 나타나지 않습니다 우리는 "읽기 전용에 대 한 때문에 "필드는 문제가 되지 않습니다 >> 저장 하는 경우? >> 따라서 나 저장할 수 있습니다 잘돼요

>>이 람 >> 오른쪽 및 어쨌든 지금는 사용 하는 방법의 예 Visual Studio 코드에 디버거 코드를 살펴보고 파악 하 고 버그 문제가 무슨 >> 그건 설정 하기 어렵습니다 따라서 오늘날 우리 배운 Python에 Azure 금요일에서 Visual Studio 코드입니다 다음 에피소드에 배울 방법 Azure 응용 프로그램 서비스에이 배포 합니다

[음악]

Python on Azure: Part 4—Running serverless Django apps with Functions | Azure Friday

>>이 마지막 에피소드의에서 우리의 네 계열에 Python와 Django Azure에서 Carlton Gibson 탐험가 보여주실 Python 앱을 실행 하는 방법 Django에서 사용 하는 방법을 하는 서버 없이 Visual Studio 코드 Azure 함수 Azure 금요일에 오늘 [음악] >> 친구와 Pythonistas 금요일 Azure를 시작 합니다

Nina Zakharenko 필자는 클라우드 수석 개발자 Microsoft에서 대표자 Carlton Gibson로 오늘 여기 나와 함께 그는 동료 Django도 Django의 유지 하는 관리자로 Django Rest 프레임 워크와 많은 다른 패키지는 적이 있을 것입니다 마지막 몇 에피소드에서 우리가 지금까지 얘기 하 고 개발 하는 방법에 대 한 Django 응용 프로그램 X 코드를 배포 Azure 응용 프로그램 서비스 오늘날, 잔소리 하는 것 매우 인기 있는 주제 서버 Carlton입니다

>> 확인, 화려한입니다 Nina를 감사 합니다 따라서 Microsoft Azure 서비스 제공 하는 함수 자 냉각? 따라서 먼저 해요 마십시오 VS 코드로 이동 하 고 기능 확장 및이 만들 수 있게 합니다 새로운 기능 응용 프로그램입니다 명령, 위로 당기면 함수에서 입력 새 함수를 만들 수 있습니다

새 프로젝트 만들기 프로젝트 기능 모든 것을 실시할 수 있습니다 함수를 샀 구나 여기서 만든 프로젝트입니다 난 이미 초기화 이것은 VS 코드에서 프로젝트 실행 됩니다 모든 것 드립니다 >> 우수 합니다 >>를 좋은

어떻게 그러나 할 일 함수를 만들어 보겠습니다 그래? 폴더를 선택 하 고 함수 템플릿을 선택 합니다 잘 보겠습니다 HTTP 트리거를 사용 하 여 때문에 Django 메모 합니다 기능을 제공 하 고 잘 바로 이맘때 그 HTTP 트리거 세밀 하 게 합니다

익명 가자 끝내 주 네요 그래 우와,이 이 코드를 만듭니다 >> HTTP 트리거 기능 이란? >> 자는, 기본적으로 어떤 그렇게 웹 끝점을 만드는 것은 웹 요청을 타면 되 고 웹 응답을 반환 합니다

>> 유용 합니다 아주 간단 합니다 >> 예, 아주 간단 합니다 따라서 우리 일어나 고를 볼 수 있습니다 함수를 여기에 비트는 main 함수가 고 볼 수 있는 걸리는 함수 HTTP 요청 하며 함수 HTTP 응답을 반환합니다

그래? 여기에 요청에 우리는 모든 것 할 수 있는 매개 변수 쿼리 문자열에서을 가져옵니다 이름 그대로 우리 이름을 입력 하지 마십시오 합니다 이름을 전달 하십시오 표준 작업에 는입니다 단지 한번 보시 죠 따라서 우리에서 열 수 셸 이제 방금 로컬로 실행 하십시오

>> 지금 방금 "func 호스트"에서 입력 한 있습니다 >>은 예 명령줄 도구와 하려는 경우 그렇게 할 수 있습니다 작업을 실행할 수 있습니다 호스트 기능을 실행할 수 있습니다 작업 명령을 사용 하 여 볼 수도 있는 에 갔습니다

>> 유용 합니다 항상 옵션 좋은 것 >> 예 이것은 지금 실행 하 고 방금 만든 것입니다 일은 미안 여기에

보시 죠 아, 이름을 전달 하십시오 쿼리 문자열에서 또는 요청 본문입니다 이제 이름을 사용해 서는 이름, Nina를 것과 같습니다 "Hello, Nina"가 표시 됩니다 >> 안녕 Azure 기능

>> 잘 오 셨 군요! 좋습니다 네, 그건 기본입니다 좀 더 재미 있게 하겠습니다 이 종료 해 드리죠 인터프리터 있는 중지 합니다

다음에 취할 수 디버그 작업 패널 여기입니다 Python에 연결이 옵션을 선택 했습니다 옵션 기능을 수행 하 고 우리가 시작 하는 하는 시작 되는 동안, 통해 어떤 준비를 하겠습니다 숨겨 보겠습니다

확인 하므로 코드에 있는 경우 닫은 경우 이 함수 서버 없이입니다 이었던 것이 작성 하는 것은 매우 간단 우리는 조금 다릅니다 이제 아래로 조사 여기에 함수입니다 역시 main 함수가 없습니다 기본값은 함수 HTTP 요청에 하 고 HTTP 응답을 반환 합니다

그래? 응답을 얻기 이 Azure에서 응용 프로그램 개체 하는 AzureWSGIHandler입니다 이제 WSGI 무엇입니까? WSGI 표준 Python은 웹 서버 응용 프로그램 프레임 워크입니다 따라서 그 의미 웹 서버 게이트웨이 인터페이스 공통 게이트웨이 처럼 인터페이스를 CGI 발전 했습니다 가장 큰 장점은 WSGI 및 모든 Python 웹이 프레임 워크 사용합니다 Django WSGI를 사용 하므로 WSGI 응용 프로그램이입니다

Flask, 영역, 모든 WSGI 됩니다 따라서 사용 하는 경우 WSGI 응용 프로그램 우리 하 고 함수를 사용할 수 있습니다 함수에서 Python 웹 프레임 워크입니다 여기에 목표입니다 이제, 이것은 매우 초기 프로토타입 하지만 알아 할 일 마무리 나머지 프레임 워크 자습서 프로젝트를 사용 하 여 이 필자는이 래퍼 지정 하 고을 함수를 제공 합니다

그래 >>를 놀라운 >> 그렇게, 디버거 실행 중입니다 서버 API입니다 저장 합니다

아, 그리고 즉 지금까지 하 고 실행 합니다 보시 죠 하 고 여기서 확인 해야 합니다 그래 Localhost 것 2 잘 했어요

항상 잘못 된 URL을 오 셨 군요! >> 우리 중 대부분에 발생 하는 것 >>이 발생합니다 권한입니다 이제, 이 적중 되는 중단점 내 >>를 멋진 >> 우리는 모양을 가질 수 있습니다

우리는 여기에 이제 스텝 오버 이렇게 한 단계씩 보겠습니다 Azure 응용 프로그램입니다 그래? 초를 제거 하겠습니다 1 초이 여기에 있는 AzureRequestAdapter입니다 Django 하지 않습니다 하기 때문에 Azure 요청을 수행 합니다 >> 권한입니다

>> WSGI 요청 됩니다 그렇다면 어떻게 해야 어댑터를 매핑하는 에 Azure 요청 Django는 뭔가 이해 하는 WSGI 요청 합니다 따라서이 통해 우리 환경입니다 매개 변수는 사전 환경에서 그런 다음 다른 항목에 해당 하는 WSGI 응용 프로그램 요구 사항 호출할 수 있는 응답을 사용합니다 요청 헤더에 걸리는 따라서 응용 프로그램을 때 데이터를 반환할 준비가 되었습니다

StartResponse를 호출 하면 헤더를 사용 하 여 기본적으로 따라서 우리가 활용이 Django 응답입니다 이제 디버그를 당기면 콘솔에서이를 볼 수 있습니다 >> 꽤 아직 제 생각에는 하나를 실행 해야 합니다

>> 당신 말이 맞습니다 잘 했어요 감사합니다 난 항상 그 실수를 확인 합니다 중단점 도달 합니까 선 후 계산 됩니다

여기 있어요 좋아, 이제 내가 볼 자동 완성 합니다 화려한 찾습니다 그래 Django는 것은 고 응답 거 야 모든 속성 Django 응답입니다

전 내용 콘텐츠는 무엇입니까? 큰 긴 HTML 문자열로 것은를 Django 프레임 워크에 의해 반환 된 응용 프로그램을 다시 실행입니다 이제 구현 여기에는 중단점입니다 다음 방문을 계속 수행 합니다 우리가 여기에서 발전 하 고 있으므로 우리는 어떤 우리는 응답을 반환 하기 전에 수행 합니다

다시 매핑할 필요가 Azure는 반응 Django 응답은 WSGI 응답와 우리 원하는 HTTP 응답 기능 여기에서는 단지 맵 우리와 다시 얻을 Azure 응답 되 고 다양 한 속성 매핑 적 특성 Django 응답의 기능 고 우리 반환 합니다 >> 구현한 여기 Django에 대 한이 매퍼 것이 아니라 간단 하 게 구현에 대 한 모든 다른 Python 웹 프레임 워크? >> 예 따라서 래퍼 작업 진행 됩니다 >> 그래입니다

>>는 막을 수 있는 프로토타입 Django 서비스를 함수를 가져옵니다 WSGI 응용 프로그램을 얻을 수 있을까요 서비스 제공 기능? 네 Django 응답을 사용 하 고 여기 하지만 예 우리 수 있습니다 Flask 모이고 우리가 수 있습니다 이 고 있는 제네릭 WSGI의 목표 시간으로 계속 해 서

어쨌든 지금 그건 프로토타입입니다 우리는 응답을 반환 하 고 우리가 방금 실행 한 다음 이것이 응답 하는 다시 매핑된 가져옵니다 우리는 어떤 함수 응답은 돌아가서 지금 조금 계속 합니다 >> 예, 확인해 보겠습니다 하는 모습 >>는 동일한 응용 프로그램 같은 응용 프로그램 우리가 지금까지 사용한 전체 시간이 있지만 이제 기능 서비스 제공 됩니다

이제, 우리는, 배포할 수 있습니다 아웃, 그럼 바로 우리가 선택할 수 및 기능을 배포 합니다 하지만 이미 준비를 잡아 먹던 여기 있어요 아, 이제 올바른 URL 나갈

>> 그래입니다 >> 하면 됩니다 다시, 같은 응용 프로그램 우리가 지금까지 사용한 전체 시간 이지만 이번 기능에 배포 합니다 >>를 놀라운 오늘날, Azure 금요일에 우리가 배운 Django 서버 응용 프로그램 Azure 함수입니다

Carlton, 오는 해 주셔서 감사 합니다 Azure 금 및 교육 Azure에서 Django에 대 한 미국입니다