반응형

 

요약앱 : Corely: AI 유튜브 핵심 요약 with ChatGPT

 

 

Corely: AI 유튜브 핵심 요약 with ChatGPT - Chrome 웹 스토어

1시간 넘는 영상도 10초 만에 정리해주는 AI 유튜브 요약 생산성 도구 AI Youtube Summarizer with ChatGPT

chromewebstore.google.com

 

 


 

 

 

●  미리보기

플라스크 웹 프레임워크를 사용하면 Python을 사용하여 웹 애플리케이션을 구축할 수 있습니다. 최소한의 코드로 빠르고 쉽게 웹 애플리케이션을 개발할 수 있습니다.

 

 

●  하이라이트
### 플라스크 웹사이트 구축하기: 기본 설정부터 고급 기능까지
* 🌐 이 튜토리얼 시리즈는 최소한의 애플리케이션부터 시작하여 **완전한 기능을 갖춘 웹사이트까지** Python의 플라스크 웹 프레임워크를 사용하여 웹사이트를 구축하는 데 필요한 모든 것을 다룹니다.
* 📊 최종 웹사이트는 **사용자 등록, 예산 관리, 아이템 거래**와 같은 기능을 통해 사용자가 아이템을 사고 팔 수 있는 마케팅 시스템이 될 것입니다.
* 🖥 초기 설정에는 **새 디렉토리를 만들고, Flask를 설치**하고, 기본 **"Hello, World!" 애플리케이션으로 설치를 테스트**하는 과정이 포함됩니다.
* 🎨 탐색 모음 만들기, 다크 모드 테마 구현 등 웹사이트 스타일링은 **부트스트랩 프레임워크**를 사용하여 수행됩니다.
* 📤 데이터는 진자 템플릿을 사용하여 Python 경로에서 **HTML 템플릿으로 전달**되므로 동적 콘텐츠 표시가 가능합니다.
* 🔢 파이썬 경로에서 사전 목록을 전송하고 **HTML 템플릿에서 반복하여 부트스트랩 테이블을 채우는 방식**으로 여러 항목이 마켓 페이지에 표시됩니다.
* 🛠 튜토리얼은 **사용자 인증, 아이템 거래, 오류 처리와 같은 고급 기능**을 추가하여 완전한 기능을 갖춘 웹 애플리케이션을 만드는 방식으로 진행됩니다.

### Flask 및 SQLAlchemy로 동적 마켓 웹사이트 구축하기
* 🌐 이 튜토리얼에서는 Python 웹 프레임워크인 **Flask**와 SQL 툴킷 및 ORM(객체 관계형 매핑) 라이브러리인 **SQLAlchemy**를 사용하여 **동적 마켓 웹사이트**를 만드는 과정을 다룹니다.
* 🛠 초기 단계에는 **Flask 애플리케이션 설정, 경로 생성, 기본 마켓 페이지를 표시하기 위한 HTML 템플릿 렌더링**이 포함됩니다.
* 📊 그런 다음 튜토리얼에서는 **여러 페이지에서 공통 HTML 요소를 재사용할 수 있는 플라스크의 템플릿 상속 개념**을 소개합니다.
* 🗃 다음 주요 단계는 **제품 정보를 저장하고 관리하기 위한 SQLite 데이터베이스를 생성**하기 위해 SQLAlchemy를 통합하는 것입니다.
* 📝 데이터베이스 테이블의 구조를 나타내는 항목에 대한 모델 클래스가 **SQLAlchemy를 사용하여 정의**됩니다.
* 💾 이 튜토리얼에서는 **데이터 삽입, 쿼리, 필터링 등 플라스크 셸을 통해 데이터베이스 레코드(항목)를 만들고 상호 작용하는 방법**을 설명합니다.
* 🔍 가격별로 항목을 필터링하는 것은 **데이터베이스에서 특정 데이터를 쿼리**하는 예시로 표시됩니다.
* 🔗 이 튜토리얼에서는 인쇄 시 **데이터베이스 객체의 표현을 사용자 지정**하는 방법과 **객체의 개별 필드에 액세스**하는 방법도 다룹니다.

### 사용자 등록 양식 및 페이지 만들기
* 📝 아이디`, `사용자 이름`, `이메일`, `패스워드 해시`, `예산`에 대한 필드와 **`아이템`과의 관계**를 가진 `사용자` 모델을 생성했습니다.
* 🔒 해싱 알고리즘을 사용하여 **'비밀번호' 필드를 암호화**하여 보안을 강화했습니다.
* 📦 Flask 애플리케이션에서 양식을 생성하고 관리하기 위해 **`Flask-WTF` 및 `WTForms` 패키지**를 설치했습니다.
* 📄 forms.py`에서 사용자 등록 양식의 필드를 정의하기 위해 **`RegisterForm` 클래스**를 생성했습니다.
* 📄 등록 양식을 렌더링하기 위해 `/register` 경로에서 **`RegisterForm`**을 가져와서 사용하도록 `routes.py`를 업데이트했습니다.
* 📄 등록 양식을 표시하는 **`register.html` 템플릿**을 만들었습니다.
* 🔑 양식 제출 시 보안을 강화하기 위해 비밀 키를 생성하고 **`app.config['SECRET_KEY']`에 설정**합니다.
* 🔗 'url_for' 함수를 사용하여 등록 양식을 **`base.html` 템플릿의 탐색 모음에 연결**합니다.
* 🖥 등록 양식 필드를 표시하도록 **`register.html` 템플릿**을 사용자 지정했습니다.
* 🔄 진자 구문을 사용하여 **HTML 템플릿의 경로에서 전달된 양식 인스턴스를 렌더링**합니다.

### 플라스크 앱의 사용자 등록 양식 개선
* 🔒 이 문서는 Flask 웹 애플리케이션에서 **사용자 등록 양식을 개선하는 방법**에 대한 단계별 가이드를 제공합니다.
* 🖥 여기에는 **HTML 양식 필드 만들기, 양식 유효성 검사 설정, Python에서 양식 제출 처리** 등이 포함됩니다.
* 🔐 이 튜토리얼에서는 **비밀번호 길이 유효성 검사, 이메일 형식 유효성 검사, 사용자 아이디 고유성 검사** 등 다양한 측면을 다룹니다.
* 🚦 또한 Flask의 플래시 메시지를 사용하여 사용자에게 오류 메시지를 표시하는 등 **양식 제출 오류를 처리하는 방법**도 설명합니다.
* 🔗 이 텍스트는 특정 명명 규칙을 사용하여 **플라스크 양식 클래스 내에서 양식 유효성 검사 기능**을 통합하는 방법을 보여줍니다.
* 📋 또한 부트스트랩 알림 클래스를 사용하여 **프런트엔드에서 유효성 검사 오류 표시**를 사용자 지정하는 방법을 보여줍니다.
* 🗄 이 튜토리얼에는 사용자 아이디와 이메일 주소의 중복 입력을 방지하기 위한 **데이터베이스 통합 기능**이 포함되어 있습니다.
* 🌐 마지막으로 웹 애플리케이션 개발에서 **오류 처리와 사용자 친화적인 피드백의 중요성**을 강조합니다.

### 사용자 로그인 및 예산 표시 기능 구현하기
* 🔒 비밀번호 해싱 및 확인을 통해 사용자 로그인 기능을 구현하고 **Flask-Login**을 사용하여 사용자 세션을 관리합니다.
* 🔒 routes.py에 **"로그인" 경로**를 생성하여 사용자가 인증되었는지 확인하고, 로그인하고, 적절한 메시지를 표시합니다.
* 🔒 인증된 사용자를 위한 **'로그아웃' 옵션**을 포함하여 사용자 인증 상태에 따라 다양한 탐색 옵션을 표시하도록 **base.html을 업데이트**했습니다.
* 🔒 modules.py의 사용자 모델에 **"budget" 속성을 추가**하여 가독성을 높이기 위해 쉼표로 예산 표시의 형식을 지정했습니다.
* 🔒 진자2 템플릿을 사용하여 탐색 모음에 사용자의 **예산을 코인 아이콘**으로 표시하고 필요에 따라 서식을 지정했습니다.
* 🔒 웹사이트의 **로그인, 로그아웃 및 예산 표시 기능**을 테스트하여 적절한 사용자 인증 및 탐색 옵션을 확인했습니다.

### 마켓 아이템 구매 확인 모달 구현하기
* 🛒 "[가격]으로 **[아이템]을 정말 구매**하시겠습니까?"라고 묻는 새로운 아이템 구매 모델을 만들었습니다.
* 📦 구매 요청을 제출할 수 있는 **양식을 모델에 추가**했습니다.
* 'forms.py'에 단일 '제출 필드'를 사용하여 **'구매 항목 양식' 클래스**를 생성했습니다.
* 🔗 routes.py`에서 **`PurchaseItemForm`을 가져와 `market.html` 템플릿에 전달**했습니다.
* 📝 숨겨진 CSRF 토큰 필드를 포함하여 **`market.html` 템플릿에 구매 확인 양식**을 구현했습니다.
* 🎨 중앙에 제목과 녹색 **'구매' 버튼**이 있는 구매 확인 모델의 스타일을 지정했습니다.
* 🔄 마켓의 아이템에서 **"이 아이템 구매하기"**를 클릭하여 구매 확인 모델을 테스트했습니다.
* 💡 다음 단계는 **백엔드에서 양식 제출을 처리**하여 구매 프로세스를 완료하는 것입니다.

### 플라스크 웹 앱에서 구매 및 판매 기능 구현하기
* 🛒 routes.py`에서 **`purchase_form`을 생성**하고 **`purchase_form.validate_on_submit`을 사용**하여 유효성을 검사하여 구매 기능을 구현했습니다.
* 📋 print(**purchase_form**)`을 사용하여 서버 측에 구매 양식을 표시하여 제대로 작동하는지 확인합니다.
* 🔍 구매_form.__dict__`를 사용하여 양식 데이터 구조를 살펴보고 사용 가능한 **키와 값을** 이해했습니다.
* 🏦 items_models.html` 템플릿에 **품목 이름이 포함된 숨겨진 입력 필드**를 추가하여 구매 양식을 프런트 엔드에 통합했습니다.
* 💼 양식 제출을 처리하고, 구매한 아이템을 추출하여 현재 사용자에게 할당하도록 **`routes.py` 로직을 업데이트**했습니다.
* 💰 데이터베이스에서 구매한 항목에 대한 **예산 공제 및 소유권 할당**을 구현했습니다.
* 🔒 'validate_on_submit' 확인을 제거하고 GET 요청과 POST 요청을 구분하여 **'양식 재제출' 문제**를 해결했습니다.
* 💡 사용자가 감당할 수 없는 아이템을 구매하지 못하도록 **예산 확인 기능**을 추가하여 보안을 강화했습니다.
* 🛒 코드 구성과 유지보수성을 개선하기 위해 구매 로직을 **'Item' 모델의 새로운 메서드**로 이동하여 리팩터링했습니다.

 

 

 

●  타임라인
### 플라스크 웹 프레임워크 구축하기: 기초부터 고급까지
플라스크는 최소한의 코드로 웹 애플리케이션을 만들 수 있는 파이썬을 사용하여 웹 애플리케이션을 구축하기 위한 마이크로 프레임워크입니다. 이 동영상 시리즈는 최소한의 애플리케이션 제작부터 사용자가 상품을 사고 팔 수 있는 고급 웹사이트 구축까지 모든 것을 다룹니다.

첫 번째 단계는 프로젝트 디렉토리를 설정하고, pip를 사용해 필요한 종속성을 설치하고, Flask 설치를 테스트하는 것입니다. 이 튜토리얼에서는 기본 Flask 애플리케이션을 만들고, 시작 템플릿의 구조를 이해하고, flask 실행 명령을 사용하여 애플리케이션을 실행하는 방법도 다룹니다.

이 튜토리얼에서는 웹 서버를 다시 시작할 필요 없이 코드 변경 사항을 동기화하기 위해 디버그 모드를 사용하는 방법을 강조하는 동시에 프로덕션 환경에서 애플리케이션을 배포할 때 디버그 모드를 끄는 것이 중요하다는 점도 강조합니다.

### 플라스크에서 경로 생성 및 스타일링하기
Flask의 경로는 데코레이터를 사용하여 생성할 수 있으므로 웹 애플리케이션에서 다양한 URL을 처리할 수 있습니다.
Flask의 동적 경로는 URL에서 변수를 처리할 수 있어 보다 유연한 경로를 만들 수 있는 방법을 제공합니다.
HTML 코드를 분리하고 Flask에서 다른 HTML 파일에 대한 경로를 참조하기 위해 HTML 파일이 저장되는 템플릿이라는 디렉터리를 만들고 렌더_템플릿 함수를 사용하여 이 파일을 가리키는 경로를 만드는 규칙이 사용됩니다.

플라스크의 HTML 구조는 헤드와 본문 섹션으로 구성되며, 헤드에는 메타 정보와 스타일 지정을 위한 가져오기가 포함되고 본문에는 표시할 콘텐츠가 포함됩니다.
널리 사용되는 스타일 프레임워크인 부트스트랩을 Flask로 가져와서 웹 페이지의 스타일을 지정할 수 있으므로 HTML 요소의 스타일을 빠르고 효율적으로 지정할 수 있습니다.
Flask에서는 각 경로마다 다른 데코레이터를 사용하여 단일 HTML 파일에 대한 여러 경로를 처리할 수 있으므로 서로 다른 URL을 통해 동일한 콘텐츠에 유연하게 액세스할 수 있습니다.

### HTML과 Python을 사용하여 개인 웹사이트에 탐색 모음 추가하기
HTML 코드 스니펫을 사용하여 홈페이지에 탐색 모음이 추가되어 페이지 간에 쉽게 탐색할 수 있습니다. 탐색 모음은 더 나은 사용자 경험을 위해 추가 링크로 사용자 지정됩니다.

### 마켓 페이지 생성 및 동적 데이터 표시
마켓 페이지에 대한 새 경로가 Python에서 생성되고 해당 HTML 템플릿이 렌더링됩니다. Python 경로에서 HTML로 임의의 데이터가 전송되고, 이 데이터를 표시하기 위해 Jinja 템플릿이 사용됩니다. 사전 목록을 사용하여 여러 항목을 표시하고 부트스트랩 테이블을 사용하여 스타일을 지정하도록 페이지가 더욱 개선됩니다.

### 다크 모드 구현 및 탭 이름 업데이트하기
스타일 속성을 재정의하여 홈페이지가 어두운 모드로 표시되도록 사용자 지정합니다. 또한 탭 이름이 업데이트되어 최종 스타일링이 완성됩니다.

### HTML에서 부트스트랩 테이블 만들기 및 템플릿 상속 구현하기
이 튜토리얼에서는 디자인을 위한 클래스 속성 사용과 테이블 행을 표시하기 위한 for 루프 구현을 포함하여 HTML로 부트스트랩 테이블을 만드는 방법을 보여드립니다. 또한 더 나은 금액 표시를 위해 표에 달러 기호를 추가하는 방법과 자세한 정보 및 구매 옵션을 위한 버튼을 포함하는 방법도 보여줍니다. 또한 HTML에서 템플릿 상속의 개념과 여러 페이지를 만들 때 반복되는 코드를 피하기 위한 기본 템플릿 생성에 대해서도 설명합니다.

### 플라스크에서 템플릿 상속 사용
플라스크의 템플릿 상속을 사용하면 재사용 가능한 코드가 포함된 기본 템플릿을 만들고 특정 콘텐츠는 개별 템플릿에 정의할 수 있습니다. "확장" 방법을 사용하면 기본 템플릿을 상속하고 "블록" 기능을 사용하여 각 페이지에 고유한 콘텐츠를 지정할 수 있으므로 보다 체계적인 코드를 만들 수 있습니다.

'블록' 기능을 사용하면 기본 템플릿의 특정 영역을 페이지별 고유 영역으로 표시하여 기본 템플릿의 콘텐츠를 개별 템플릿의 콘텐츠로 대체할 수 있으므로 콘텐츠 관리가 더 깔끔해지고 유연성이 향상됩니다.

진자 구문의 "url_for" 함수를 사용하면 경로 이름을 지정하여 서로 다른 페이지 간에 동적으로 탐색할 수 있으므로 하드코딩된 URL에 비해 페이지 탐색을 처리하는 더 우아한 방법을 제공합니다.

### Flask-SQLAlchemy로 데이터베이스 설정하기
Flask-SQLAlchemy를 사용하면 모델을 사용하여 데이터베이스 테이블을 만들 수 있습니다. 이 프로세스에는 각 테이블에 대한 클래스를 만들고, 열을 정의하고, 필드의 데이터 유형, 길이 및 기타 속성을 지정하는 작업이 포함됩니다.
데이터베이스 구성은 앱 구성에 키-값 쌍을 추가하고 데이터베이스 파일의 위치를 나타내는 SQLAlchemy 데이터베이스 URI를 지정하여 수행합니다.
데이터베이스가 설정되면 db.session.add() 및 db.session.commit() 메서드를 사용하여 항목을 생성하고 데이터베이스에 추가할 수 있으며, 모델 클래스를 사용하여 기존 항목을 쿼리할 수 있습니다.

### 플라스크 프로젝트 재구성하기: 단계별 가이드
Flask 프로젝트의 코드 구조를 재구성하려면 순환 임포트를 피하기 위해 모델과 경로를 위한 별도의 모듈을 만들어야 합니다. 이 과정에는 코드를 패키지 디렉터리로 이동하고, double underscore init double underscore라는 특수 Python 파일을 생성하고, 이 파일로 초기화 줄을 이동하는 작업이 포함됩니다.

1. 프로젝트의 코드 구조를 재구성하려면 순환 가져오기를 피하기 위해 모델과 경로를 위한 별도의 모듈을 만들어야 하는데, 이는 Python에서 어려운 작업이 될 수 있습니다.

2. 이 프로세스에는 코드를 "market"이라는 패키지 디렉터리로 이동하고, 초기화 코드가 올바르게 실행되도록 하기 위해 double underscore init double underscore라는 특수 Python 파일을 만드는 것이 포함됩니다.

3. "run.py" 파일의 초기화 줄을 이중 밑줄 init 이중 밑줄 파일로 옮기는 것은 개체나 변수를 가져올 때 Flask 애플리케이션을 원활하게 실행할 수 있도록 하기 때문에 매우 중요합니다.

### Python 패키지 만들기 및 데이터베이스 모델 설정하기
Python 패키지를 만드는 과정에는 디렉토리를 초기화하고 패키지로 정의한 다음 이중 밑줄 init 이중 밑줄 파일을 사용하여 패키지로 인식하는 작업이 포함됩니다. 그런 다음 애플리케이션을 가져오고 포인터 파일을 실행하여 설정을 완료할 수 있도록 패키지를 구조화합니다.

이 튜토리얼에서는 사용자 이름, 이메일, 암호화된 비밀번호와 같은 사용자 필드를 포함하여 웹 애플리케이션의 데이터베이스 모델을 설정하는 데 중점을 둡니다. 또한 데이터베이스에서 사용자와 항목 간의 관계를 설정하여 사용자가 여러 항목을 소유할 수 있도록 하는 방법도 다룹니다.

이 튜토리얼은 패키지 생성, 데이터베이스 모델 정의, 모델 간의 관계 설정에 대한 자세한 단계를 제공하여 Python 개발자를 위한 포괄적인 가이드를 제공합니다.

### Python 플라스크 애플리케이션에서 폼 만들기 및 사용하기
market.modules와 함께 Python을 사용하면 db.drop_all 함수를 사용하여 데이터베이스에서 모든 정보와 테이블을 삭제한 다음 db.create_all 함수를 사용하여 모든 것을 다시 만들 수 있습니다. 데이터베이스에 새 사용자와 항목을 생성하는 과정에는 db.session.add 및 db.session.commit 함수를 사용하고 사용자와 항목 간의 소유권 관계를 설정하는 작업이 포함됩니다.

### 플라스크에서 양식 유효성 검사의 중요성
Flask는 양식을 만들고 표시하기 위한 내장 패키지를 제공하여 기존 사용자 아이디와 비밀번호 요건을 확인하는 등 사용자 정보의 유효성을 보장하기 위해 HTML 양식을 사용자 정의할 수 있습니다. 별도의 Python 파일에 양식 클래스를 생성하고 이러한 양식을 Flask 애플리케이션 경로에 통합하면 안전하고 사용자 친화적인 등록 페이지를 구현할 수 있습니다.

### 플라스크에서 등록 양식 만들기 및 표시하기
플라스크에서 등록 양식을 만들고 표시하는 방법에 대한 단계별 가이드입니다.

- 이 프로세스에는 등록 양식 인스턴스를 만들고, 양식의 템플릿을 렌더링하고, 보안을 보장하기 위해 Flask 애플리케이션의 비밀 키를 생성하는 작업이 포함됩니다.
- 양식의 메서드 유형 및 스타일을 포함하여 HTML 및 Jinja 구문을 사용하여 양식 필드에 액세스하고 사용자 지정합니다.
- 사용자 지정을 위해 부트스트랩 클래스를 사용하여 양식에 제출 버튼을 추가하고, 양식을 본문 태그로 감싸고 콘텐츠를 중앙에 배치하여 올바르게 표시되도록 합니다.

### 플라스크에서 양식 제출 및 유효성 검사 처리하기
Flask에서 양식 제출을 처리하는 프로세스에는 사용자 입력 확인, 새 사용자 인스턴스 생성, 제출 성공 시 사용자를 다른 페이지로 리디렉션하는 과정이 포함됩니다.
양식 유효성 검사를 처리하기 위해 Flask는 길이, 이메일 형식, 필수 필드 등 사용자 입력 데이터의 유효성을 검사할 수 있는 "wtforms.validators" 패키지를 제공합니다.
유효성 검사 오류를 확인하려면 실패한 유효성 검사를 저장하는 "form.errors" 사전에 액세스하여 유효성 검사 요구 사항이 충족되지 않으면 사용자 인스턴스가 생성되지 않도록 할 수 있습니다.

### Python 웹 개발에서 오류 메시지 및 유효성 검사 구현하기
파이썬 웹 개발에서 유효성 검사 프로세스를 진행하기 전에 오류를 확인하여 프로그램의 올바른 흐름을 보장하는 것이 중요합니다.
Flask의 '플래시' 기능을 사용하면 오류 메시지를 HTML 템플릿에 표시하여 더 나은 사용자 경험을 제공하고 사용자에게 유효성 검사 문제를 알릴 수 있습니다.
플래시 메시지를 분류하고 부트스트랩 클래스를 사용하면 오류, 정보 또는 성공 메시지와 같은 다양한 유형의 메시지를 웹사이트에 보다 시각적으로 매력적인 방식으로 표시할 수 있습니다.

### 사용자 등록 및 비밀번호 보안 개선
이 튜토리얼에서는 등록 양식에서 기존 사용자 아이디와 이메일 주소에 대한 오류 메시지를 표시하는 방법에 대해 설명합니다. 사용자 이름과 이메일 주소의 유효성을 검사하여 사용자 친화적인 오류 메시지를 제공하는 방법을 보여줍니다. 이 튜토리얼에서는 보안 강화를 위해 Flask-Bcrypt 라이브러리를 사용하여 해시된 비밀번호를 구현하는 방법도 다룹니다.

### 플라스크에서 사용자 로그인 기능 구현하기
이 과정에는 bcrypt 인스턴스를 사용하여 비밀번호 해시를 생성한 다음 해독을 적용하는 과정이 포함됩니다. 로그인 기능을 사용하려면 로그인 양식을 만들고, 새 경로를 설정하고, 로그인 페이지에 대한 별도의 템플릿을 디자인해야 합니다. 또한 Flask-Login 라이브러리를 설치하고, 로그인 관리자를 가져오고, 로그인 경로에 대한 기능을 작성하여 사용자 정보와 비밀번호를 검증하는 작업도 포함됩니다.

### 사용자 인증 및 로그인 시스템 구현하기
사용자의 비밀번호를 확인하기 위해 bcrypt 라이브러리의 기능을 사용하여 일치 여부를 확인합니다. 그런 다음 비밀번호 확인 문제를 극복하는 데 도움이 되는 함수가 modules.py 파일에 작성됩니다. 로그인 프로세스는 플라스크 "login_user" 함수를 사용하여 완료되며, 클라이언트에 피드백을 제공하기 위해 플래시 메시지가 사용됩니다.

플라스크 애플리케이션의 로그인 시스템은 사용자 모델에 필요한 메서드를 자동으로 포함하는 "UserMixin" 클래스를 추가하여 개선되었습니다. 진자 구문과 "current_user.is_authenticated" 메서드를 사용하여 사용자의 인증 여부에 따라 다양한 탐색 옵션을 표시하도록 base.html 템플릿이 수정되었습니다.

### 웹사이트 탐색 및 사용자 예산 표시 사용자 지정
사용자 탐색은 개인화된 환영 메시지와 로그아웃 옵션을 표시하도록 사용자 지정됩니다. 이제 사용자의 예산이 동전 아이콘과 동적 서식을 사용하여 스타일화된 방식으로 표시되며, 큰 예산의 경우 쉼표가 포함됩니다. 사용자를 위한 플래시 메시지를 포함한 새로운 사용자 로그아웃 경로가 추가되었으며, 로고와 '시작하기' 버튼으로 홈 페이지를 추가로 사용자 지정할 수 있도록 계획하고 있습니다.

### Python과 Flask를 사용하여 웹사이트에서 사용자 인증 및 페이지 사용자 지정 구현하기
사용자 인증이 구현되어 특정 페이지에 대한 액세스를 제한하고, 사용자가 마켓 페이지에 액세스하기 전에 로그인하지 않은 경우 로그인 페이지로 리디렉션합니다. 계정 생성에 성공하면 메시지를 표시하고 자동으로 로그인하여 웹사이트의 기능을 개선하여 더 나은 사용자 경험을 제공합니다. 마켓 페이지는 부트스트랩 그리드 시스템을 사용하여 사용 가능한 품목과 구매한 품목을 표시하는 섹션으로 나누어 보다 집중적이고 체계적인 레이아웃을 만들 수 있도록 사용자 지정할 수 있습니다.

### 웹사이트 탐색을 위한 사용자 경험 개선
- 페이지 섹션의 명확한 제목 만들기
- 아이템 정보 표시를 위한 모달 창 구현하기
- 각 항목의 고유한 표시를 위한 모달 사용자 지정
- 품목 구매에 유사한 프로세스를 구현할 계획입니다.

### 온라인 스토어에 구매 확인 구현하기
웹사이트의 녹색 버튼에 새로운 식별자 문자열 "구매_확정"이 제안됩니다. "구매_확정" 식별자는 마켓 HTML에 구현되어 사용자가 특정 아이템의 구매를 확인할 수 있도록 합니다. 구매 프로세스를 용이하게 하기 위해 forms.py 파일에 '아이템 구매 양식'과 '아이템 판매 양식'이라는 두 개의 새로운 양식 클래스가 생성됩니다. 그런 다음 이러한 양식 인스턴스는 접근성을 위해 market.html 템플릿에 컨텍스트로 전송됩니다.

### 웹 애플리케이션에서 사용자의 구매 작업 관리하기
구매한 아이템을 식별하고 사용자에게 할당하는 프로세스는 Flask 라이브러리에 내장된 요청 객체를 통해 제어되며, 각 요청 유형에 대한 요청 객체의 모양을 완벽하게 제어할 수 있습니다.
양식 재제출과 관련된 출력이 표시되지 않도록 가져오기 요청과 게시 요청을 구분하여 원활한 사용자 경험을 보장합니다.
예산이 부족한 경우 사용자가 아이템을 구매하지 못하도록 사용자 모델에 사용자의 예산에 따라 아이템을 구매할 수 있는지 확인하는 방법을 만들어 추가 보안 조치를 구현합니다.

### 아이템 구매 프로세스 리팩토링
구매 성공 및 실패에 대한 명확한 플래시 메시지를 제공하여 아이템 구매 프로세스를 개선하도록 코드가 리팩터링되었습니다. 또한 구매 완료 후 사용자를 마켓 페이지로 리디렉션하도록 코드가 재구성되었습니다. 또한 아이템 모델에 메서드를 생성하여 소유권 할당 프로세스를 간소화합니다.

소유한 항목 표시
현재 사용자가 소유한 아이템을 필터링하여 표시하도록 경로 파일이 업데이트되고, 부트스트랩 카드를 사용하여 사용자가 소유한 아이템을 표시하도록 마켓 페이지가 수정됩니다.

판매 프로세스 구현
아이템 판매 양식이 생성되고, 아이템 구매 프로세스와 유사하게 아이템 판매를 처리하도록 경로 파일이 업데이트됩니다. 또한 판매 모달을 위한 별도의 HTML 파일이 생성되어 판매와 구매 프로세스가 명확하게 분리됩니다.

### 아이템 판매 모델 업데이트
- 스타일, 식별자 및 버튼 기능을 포함하여 아이템 판매에 맞게 구매 확인 코드를 변경합니다.
- HTML 코드를 수정하여 각 품목에 대해 별도의 모델을 트리거하고 판매 모델이 올바르게 표시되도록 합니다.
- 구매와 판매를 구분하고, 사용자 소유권을 확인하고, 예산을 업데이트하고, 플래시 메시지를 표시하는 등 route.py에서 아이템 판매 로직을 구현합니다.

이 프로세스에는 HTML 및 route.py 수정을 포함하여 아이템 판매를 허용하도록 코드를 업데이트하고 판매 프로세스를 위한 로직을 구현하는 작업이 포함됩니다.

LiveWiki, 유튜브 속 핵심 내용을 10초 만에! - https://livewiki.com/ko/content/flask-course-python-web-application-development

반응형