목차
1. Bottle 라이브러리 설치
2. "HelloWorld!"
3. 동적 라우팅 및 파일 다운로드
4. POST 응답 및 파일 업로드
5. 요약
백엔드 개발 파이썬 튜토리얼 Python 경량 웹 프레임워크: Bottle 라이브러리!

Python 경량 웹 프레임워크: Bottle 라이브러리!

Apr 13, 2023 pm 02:10 PM
python web bottle

Python 경량 웹 프레임워크: Bottle 라이브러리!

가벼운 만큼 Bottle 라이브러리의 사용도 매우 간단합니다. 나는 이 글을 읽기 전에 독자들은 이미 Python에 대해 간단한 이해를 갖고 있다고 믿습니다. 그렇다면 수백 줄의 코드로 서버의 기능을 완성할 수 있는 신비한 작업은 무엇일까요? 기다려 보자.

1. Bottle 라이브러리 설치

1) pip를 사용하여 설치

Python 경량 웹 프레임워크: Bottle 라이브러리!

2) Bottle 파일 다운로드

https://github.com/bottlepy/bottle/blob/master/bottle.py

2. "HelloWorld!"

모든 것이 먼저 성공한다는 말처럼 HelloWorld의 간단한 예를 통해 우리는 Bottle의 기본 메커니즘을 이해할 수 있습니다.

먼저 코드:

Python 경량 웹 프레임워크: Bottle 라이브러리!

먼저 병 라이브러리에서 get 및 run 메소드를 가져옵니다.

다음으로 웹사이트를 구축해야 합니다. 먼저 IP 주소와 포트가 필요합니다. 이 부분은 테스트 단계에서 127.0.0.1(로컬 주소)과 포트 80을 사용하여 완료됩니다. .(브라우저 기본 포트) 다음으로 이동하세요.

이 코드를 실행하세요 python HelloWorld.py

Python 경량 웹 프레임워크: Bottle 라이브러리!

이렇게 하면 웹사이트 서버가 실행되고, 브라우저를 열고 127.0.0.1(:80)

Python 경량 웹 프레임워크: Bottle 라이브러리!

익숙한 404, 오류 메시지 찾을 수 없음: '/'. 물론 이것은 서버 외에 웹사이트에도 매우 중요한 구성요소인 웹페이지가 있기 때문입니다!

브라우저가 IP 주소에 액세스하면 IP에 get 요청을 보내고 웹 페이지 데이터가 반환될 때까지 기다립니다. 그런 다음 병 라이브러리는 이 프로세스를 구현하기 위해 get 메서드를 캡슐화합니다.

코드는 다음과 같습니다.

Python 경량 웹 프레임워크: Bottle 라이브러리!

def 위의 @ 기호를 아시는지 모르겠습니다. 이 기호는 Python 구문에서 데코레이터를 의미하는 것으로 간단히 이해하면 됩니다. 홈페이지. 여기서 @get('/')는 브라우저가 GET 127.0.0.1/ 요청을 보낼 때 홈페이지를 해당 함수로 장식합니다. 모든 처리를 수행하고 마지막으로 get 요청에 대한 응답을 반환할 수 있습니다. 여기서 다시 실행하면 다음과 같은 효과가 나타납니다.

Python 경량 웹 프레임워크: Bottle 라이브러리!

병에 캡슐화된 템플릿 메소드를 사용하여 웹 페이지 데이터를 .tpl 파일에 별도로 작성할 수도 있습니다. 예는 다음과 같습니다.

Python 경량 웹 프레임워크: Bottle 라이브러리!

run 함수에는 매개변수 리로더도 있습니다. 이를 True로 설정하면 변경 사항이 있을 때 자동으로 서버를 다시 로드하므로 핫 업데이트가 가능합니다. 웹사이트의.

3. 동적 라우팅 및 파일 다운로드

위에서 get('/')을 사용했듯이 기본적으로는 서버가 실행되기 전에 결정된 주소를 이 방법을 사용하여 라우팅할 수 있습니다.

그렇다면 서버 런타임이라면 어떨까요? 예를 들어, 웹 사이트 서버의 파일에 대한 액세스는 정적 방식으로 수행할 수 없습니다. 이 경우 동적 라우팅을 사용할 수 있습니다.

Bottle의 동적 라우팅은 get과 유사하게 데코레이터를 사용하여 라우팅 기능을 구현하는 기능을 사용합니다.

Python 경량 웹 프레임워크: Bottle 라이브러리!

여기서 데코레이터의 매개변수 'name'에 독특한 것이 나타나는 것을 볼 수 있습니다. 수정된 함수의 매개변수는 콜론 뒤의 매개변수와 이름이 동일합니다. 함수에서는 이름 매개변수를 처리 변수로 사용하고 최종적으로 응답을 반환할 수 있습니다.

Python 경량 웹 프레임워크: Bottle 라이브러리!

동적 라우팅을 사용하면 파일 라우팅에 편의성을 제공할 수 있습니다. 서버에는 수백 또는 수천 개의 파일이 저장되어 있을 수 있으며 각 파일에 대해 고정 주소에 의존하는 것은 불가능합니다.

Python 경량 웹 프레임워크: Bottle 라이브러리!

여기서 새로운 함수 static_file을 볼 수 있습니다. 첫 번째 매개변수는 파일 이름이고 두 번째 매개변수는 루트 디렉터리 주소(즉, 파일 위치)입니다.

-- HelloWorld.py

--store1.txt

브라우저를 방문하여

Python 경량 웹 프레임워크: Bottle 라이브러리!

물론 파일을 폴더에 넣을 수도 있습니다. 루트 매개변수를 폴더 주소로 바꾸면 됩니다. .

4. POST 응답 및 파일 업로드

더 복잡한 기능을 구현하려면 GET 메서드뿐만 아니라 POST 메서드도 사용해야 합니다. 여기서는 HTML 언어의 Form을 사용하여 POST 요청에 대한 Bottle 라이브러리의 응답을 보여줍니다.

Python 경량 웹 프레임워크: Bottle 라이브러리!

먼저 위와 같이 파일을 업로드하는 창을 구현합니다.

여기의 페이지는 간단한 양식 제출 인터페이스입니다. 여기서는 자세히 소개하지 않겠습니다.

Python 경량 웹 프레임워크: Bottle 라이브러리!

다음 POST 응답 코드는 다음과 같습니다.

Python 경량 웹 프레임워크: Bottle 라이브러리!

Bottle 라이브러리에서 post 메소드를 가져와서 요청하세요.

get 메소드와 유사하게 post를 사용하여 응답 함수를 장식한 다음 함수 본문의 request를 사용하여 웹사이트 서버에서 받은 post 요청 본문을 가져옵니다. request.forms.get() 메소드는 Key에 해당하는 문자열을 Form에서 꺼내고, request.files.get() 메소드는 Key에 해당하는 파일을 Form에서 꺼내고, save 메소드는 다음과 같습니다. 파일 업로드를 위해 데이터를 저장하는 데 사용됩니다.

다음으로 테스트를 수행합니다.

Python 경량 웹 프레임워크: Bottle 라이브러리!

업로드를 클릭한 후 서버 루트 디렉터리(파이썬 파일의 위치)를 열고 파일이 성공적으로 업로드되었는지 확인합니다!

Python 경량 웹 프레임워크: Bottle 라이브러리!

5. 요약

이러한 기능을 완료한 후에는 병을 네트워크에 배포해야 합니다. 결국 로컬에서만 실행된다면 웹사이트가 무슨 소용이 있을까요?

Tsinghuanet은 각 네트워크 액세스 포인트에 대해 공용 IP를 제공합니다. cmd에서 ipconfig를 사용하여 IP 주소를 확인하고 실행 중인 매개변수를 공용 IP로 변경한 다음 모든 장치에 로그인하십시오. IP 주소와 포트 번호를 입력하세요. (기본값 80) 브라우저에서(휴대폰 권장, 컴퓨터 브라우저는 가끔 속도가 매우 느림) 접속하시면 됩니다!

Bottle 라이브러리에는 쿠키 읽기 및 쓰기, 플러그인 설치, 제거 및 비활성화가 모두 포함되어 있으며 다른 서버에도 배포할 수 있으며 이러한 기능은 매우 간단합니다. 독자들이 더 자세히 알아보기를 기다리고 있습니다!

위 내용은 Python 경량 웹 프레임워크: Bottle 라이브러리!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PS가 계속 로딩을 보여주는 이유는 무엇입니까? PS가 계속 로딩을 보여주는 이유는 무엇입니까? Apr 06, 2025 pm 06:39 PM

PS "로드"문제는 자원 액세스 또는 처리 문제로 인한 것입니다. 하드 디스크 판독 속도는 느리거나 나쁘다 : CrystalDiskinfo를 사용하여 하드 디스크 건강을 확인하고 문제가있는 하드 디스크를 교체하십시오. 불충분 한 메모리 : 고해상도 이미지 및 복잡한 레이어 처리에 대한 PS의 요구를 충족시키기 위해 메모리 업그레이드 메모리. 그래픽 카드 드라이버는 구식 또는 손상됩니다. 운전자를 업데이트하여 PS와 그래픽 카드 간의 통신을 최적화하십시오. 파일 경로는 너무 길거나 파일 이름에는 특수 문자가 있습니다. 짧은 경로를 사용하고 특수 문자를 피하십시오. PS 자체 문제 : PS 설치 프로그램을 다시 설치하거나 수리하십시오.

PS의 로딩 속도 속도를 높이는 방법? PS의 로딩 속도 속도를 높이는 방법? Apr 06, 2025 pm 06:27 PM

느린 Photoshop 스타트 업 문제를 해결하려면 다음을 포함한 다중 프론트 접근 방식이 필요합니다. 하드웨어 업그레이드 (메모리, 솔리드 스테이트 드라이브, CPU); 구식 또는 양립 할 수없는 플러그인 제거; 정기적으로 시스템 쓰레기 및 과도한 배경 프로그램 청소; 주의를 기울여 관련없는 프로그램 폐쇄; 시작하는 동안 많은 파일을 열지 않도록합니다.

PS가 시작될 때 로딩 문제를 해결하는 방법은 무엇입니까? PS가 시작될 때 로딩 문제를 해결하는 방법은 무엇입니까? Apr 06, 2025 pm 06:36 PM

부팅 할 때 "로드"에 PS가 붙어있는 여러 가지 이유로 인해 발생할 수 있습니다. 손상되거나 충돌하는 플러그인을 비활성화합니다. 손상된 구성 파일을 삭제하거나 바꾸십시오. 불충분 한 메모리를 피하기 위해 불필요한 프로그램을 닫거나 메모리를 업그레이드하십시오. 하드 드라이브 독서 속도를 높이기 위해 솔리드 스테이트 드라이브로 업그레이드하십시오. 손상된 시스템 파일 또는 설치 패키지 문제를 복구하기 위해 PS를 다시 설치합니다. 시작 오류 로그 분석의 시작 과정에서 오류 정보를 봅니다.

HTML 다음 페이지 기능 HTML 다음 페이지 기능 Apr 06, 2025 am 11:45 AM

<p> 다음 페이지 기능은 HTML을 통해 만들 수 있습니다. 단계에는 컨테이너 요소 만들기, 컨텐츠 분할, 탐색 링크 추가, 다른 페이지 숨기기 및 스크립트 추가가 포함됩니다. 이 기능을 통해 사용자는 세분화 된 컨텐츠를 탐색하여 한 번에 한 페이지 씩 만 표시 할 수 있으며 많은 양의 데이터 또는 콘텐츠를 표시하는 데 적합합니다. </p>

PS가 파일을 열 때로드 문제를 해결하는 방법은 무엇입니까? PS가 파일을 열 때로드 문제를 해결하는 방법은 무엇입니까? Apr 06, 2025 pm 06:33 PM

"로드"는 PS에서 파일을 열 때 말더듬이 발생합니다. 그 이유에는 너무 크거나 손상된 파일, 메모리 불충분, 하드 디스크 속도가 느리게, 그래픽 카드 드라이버 문제, PS 버전 또는 플러그인 충돌이 포함될 수 있습니다. 솔루션은 다음과 같습니다. 파일 크기 및 무결성 확인, 메모리 증가, 하드 디스크 업그레이드, 그래픽 카드 드라이버 업데이트, 의심스러운 플러그인 제거 또는 비활성화 및 PS를 다시 설치하십시오. 이 문제는 PS 성능 설정을 점차적으로 확인하고 잘 활용하고 우수한 파일 관리 습관을 개발함으로써 효과적으로 해결할 수 있습니다.

느린 PS로드가 컴퓨터 구성과 관련이 있습니까? 느린 PS로드가 컴퓨터 구성과 관련이 있습니까? Apr 06, 2025 pm 06:24 PM

PS 로딩이 느린 이유는 하드웨어 (CPU, 메모리, 하드 디스크, 그래픽 카드) 및 소프트웨어 (시스템, 백그라운드 프로그램)의 결합 된 영향 때문입니다. 솔루션에는 하드웨어 업그레이드 (특히 솔리드 스테이트 드라이브 교체), 소프트웨어 최적화 (시스템 쓰레기 청소, 드라이버 업데이트, PS 설정 확인) 및 PS 파일 처리가 포함됩니다. 정기적 인 컴퓨터 유지 보수는 또한 PS 달리기 속도를 향상시키는 데 도움이 될 수 있습니다.

PS가 항상 로딩되고 있음을 보여줄 때 로딩 문제를 해결하는 방법은 무엇입니까? PS가 항상 로딩되고 있음을 보여줄 때 로딩 문제를 해결하는 방법은 무엇입니까? Apr 06, 2025 pm 06:30 PM

PS 카드가 "로드"되어 있습니까? 솔루션에는 컴퓨터 구성 (메모리, 하드 디스크, 프로세서) 확인, 하드 디스크 조각 청소, 그래픽 카드 드라이버 업데이트, PS 설정 조정, PS 재설치 및 우수한 프로그래밍 습관 개발이 포함됩니다.

PDF 수출을 PS에 의해 배치로 내보낼 수 있습니까? PDF 수출을 PS에 의해 배치로 내보낼 수 있습니까? Apr 06, 2025 pm 04:54 PM

PS에서 PDF를 배치로 내보내는 세 가지 방법이 있습니다 : PS 동작 기능 사용 : 파일을 기록하고 열기 및 PDF 작업을 내보내고, 루프에서 동작을 실행합니다. 타사 소프트웨어의 도움으로 : 파일 관리 소프트웨어 또는 자동화 도구를 사용하여 입력 및 출력 폴더를 지정하고 파일 이름 형식을 설정하십시오. 스크립트 사용 : 스크립트를 작성하여 배치 내보내기 로직을 ​​사용자 정의하지만 프로그래밍 지식이 필요합니다.

See all articles