실제로 Python의 ORM 프레임워크 Flask-SQLAlchemy
ORM(Object-Relational Mapping)은 관계형 데이터베이스의 테이블 데이터를 프로그래밍 언어의 객체에 매핑하여 프로그램 개발자가 객체지향 방식으로 데이터베이스를 운영할 수 있도록 하는 프로그래밍 기술입니다. Flask-SQLAlchemy는 관계형 데이터베이스에서 Python 프로그램의 작업을 크게 단순화할 수 있는 강력한 ORM 프레임워크입니다.
이 글에서는 Flask-SQLAlchemy 프레임워크의 사용법을 예제를 통해 자세히 소개하겠습니다.
- 환경 구성
Flask-SQLAlchemy를 배우기 전에 먼저 Flask와 SQLAlchemy 모듈을 설치해야 합니다. Python 환경에서 pip 명령을 사용하여 설치할 수 있습니다.
pip install Flask
pip install SQLAlchemy
- 데이터베이스 구성
MySQL 데이터베이스를 프로젝트의 영구 저장소로 구성하세요. Flask-SQLAlchemy 개체를 생성할 때 다음 매개변수를 전달하세요.
from 플라스크 가져오기 Flask
from 플라스크_sqlalchemy import SQLAlchemy
app = Flask(__name__)
첫 번째 매개변수: 플라스크 애플리케이션 인스턴스
두 번째 매개변수: 데이터베이스 연결 URI
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:password@ localhost: 3306/test'
프로그램 실행 효율성을 높이려면 SQLALCHEMY_TRACK_MODIFICATIONS 옵션을 끄세요
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db 개체 초기화
db = SQLAlchemy(app)
app.config를 호출하여 설정 up Flask 애플리케이션 인스턴스의 구성 매개변수 중 SQLALCHEMY_DATABASE_URI 매개변수는 연결된 데이터베이스 유형, 사용자 이름, 비밀번호, IP 주소, 포트 번호, 데이터베이스 이름 및 기타 정보를 지정하는 데 사용됩니다.
- ORM 구현
데이터 모델 정의
먼저 ORM 매핑 개체인 데이터 모델을 정의해야 합니다. 여기서는 학생 정보를 예로 들어 학생 클래스를 정의합니다.
from datetime import datetime
fromFlask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
SQLAlchemy ORM 디자인 모델
class Student(db.Model):
# 定义表名 __tablename__ = 'student' # 定义表结构,其中id为主键,自增长 id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(20), nullable=False) gender = db.Column(db.String(2), nullable=False) birthday = db.Column(db.Date, default=datetime.now()) address = db.Column(db.String(200), nullable=False) # 类对象序列化成字典 def to_dict(self): return {c.name: getattr(self, c.name, None) for c in self.__table__.columns}
Student 클래스에서는 __tablename__, ID, 이름, 성별의 테이블 구조를 정의합니다. , 생일, 주소 . 그 중 __tablename__은 테이블 이름을 지정하는 데 사용되고, id는 기본 키를 지정하여 자동으로 커지는 데 사용되며, name, 성별, 생일, 주소 필드는 학생의 이름, 성별, 생일, 주소에 대한 정보를 저장하는 데 사용됩니다. 주소.
추가, 삭제, 수정 및 쿼리 작업
다음으로 추가, 삭제, 수정 및 쿼리 작업을 구현합니다.
(1) 학생 정보 추가
@app.route('/add',method=[' POST'])
def add_student( ):
student = Student() student.name = request.form.get('name') student.gender = request.form.get('gender') student.birthday = datetime.strptime(request.form.get('birthday'), '%Y-%m-%d').date() student.address = request.form.get('address') db.session.add(student) db.session.commit() return jsonify({'code': 200, 'msg': 'add student success.'})
먼저 request.form.get()을 통해 제출된 양식 데이터를 가져온 다음 Student 객체를 생성하고 속성 값을 설정한 후 마지막으로 db를 통해 해당 객체를 데이터베이스에 추가합니다. session.add(), db.session을 전달하면 트랜잭션이 커밋됩니다.
(2) 학생 정보 삭제
@app.route('/delete/
def delete_student(id):
student = Student.query.get(id) if student: db.session.delete(student) db.session.commit() return jsonify({'code': 200, 'msg': 'delete student success.'}) else: return jsonify({'code': 404, 'msg': 'student not found.'})
학생 ID 매개변수 전달 , query.get() 메소드를 통해 학생 인스턴스를 얻은 후 db.session.delete() 메소드를 사용하여 데이터베이스에서 삭제하고 db.session.commit()을 통해 트랜잭션을 제출합니다.
(3) 학생 정보 수정
@app.route('/update/
def update_student(id):
student = Student.query.get(id) if student: student.name = request.form.get('name') student.gender = request.form.get('gender') student.birthday = datetime.strptime(request.form.get('birthday'), '%Y-%m-%d').date() student.address = request.form.get('address') db.session.commit() return jsonify({'code': 200, 'msg': 'update student success.'}) else: return jsonify({'code': 404, 'msg': 'student not found.'})
또한 학생 기준 id 매개변수 학생 인스턴스를 획득하고, 학생 정보를 수정한 후 db.session.commit()을 이용하여 트랜잭션을 제출한다.
(4) 학생 정보 조회
@app.route('/search')
def search_student():
students = Student.query.all() if students: return jsonify({'code': 200, 'msg': 'search student success.', 'data': [student.to_dict() for student in students]}) else: return jsonify({'code': 404, 'msg': 'student not found.'})
query.all() 메소드를 사용하여 Student 테이블의 모든 학생 정보를 조회하고, 목록 이해를 사용합니다. 학생 개체 목록을 사전 목록으로 변환하고 반환합니다.
- Summary
Flask-SQLAlchemy는 Python으로 데이터베이스 작업 코드를 더 간단하고 읽기 쉽게 작성할 수 있는 매우 강력한 ORM 프레임워크입니다. 이 문서에서는 예제를 통해 Flask-SQLAlchemy 사용에 대한 심층적인 소개를 제공합니다.
실제 개발에서는 이 글과 유사한 방식으로 데이터 모델을 정의하고 추가, 삭제, 수정 및 쿼리 작업을 구현할 수 있습니다. 이러한 작업의 복잡성은 매우 낮습니다. Flask-SQLAlchemy 프레임워크를 사용하면 개발 효율성을 향상하고 프로그램 유지 관리 비용을 줄일 수 있습니다.
위 내용은 실제로 Python의 ORM 프레임워크 Flask-SQLAlchemy의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.

PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.

데비안 시스템의 readdir 함수는 디렉토리 컨텐츠를 읽는 데 사용되는 시스템 호출이며 종종 C 프로그래밍에 사용됩니다. 이 기사에서는 ReadDir를 다른 도구와 통합하여 기능을 향상시키는 방법을 설명합니다. 방법 1 : C 언어 프로그램을 파이프 라인과 결합하고 먼저 C 프로그램을 작성하여 readDir 함수를 호출하고 결과를 출력하십시오.#포함#포함#포함#포함#includinTmain (intargc, char*argv []) {dir*dir; structdirent*entry; if (argc! = 2) {

제한된 시간에 Python 학습 효율을 극대화하려면 Python의 DateTime, Time 및 Schedule 모듈을 사용할 수 있습니다. 1. DateTime 모듈은 학습 시간을 기록하고 계획하는 데 사용됩니다. 2. 시간 모듈은 학습과 휴식 시간을 설정하는 데 도움이됩니다. 3. 일정 모듈은 주간 학습 작업을 자동으로 배열합니다.

이 기사에서는 Debian 시스템에서 NginxSSL 인증서를 업데이트하는 방법에 대해 안내합니다. 1 단계 : CertBot을 먼저 설치하십시오. 시스템에 CERTBOT 및 PYTHON3-CERTBOT-NGINX 패키지가 설치되어 있는지 확인하십시오. 설치되지 않은 경우 다음 명령을 실행하십시오. sudoapt-getupdatesudoapt-getinstallcertbotpython3-certbot-nginx 2 단계 : 인증서 획득 및 구성 rectbot 명령을 사용하여 nginx를 획득하고 nginx를 구성하십시오.

데비안에서 gitlab 플러그인을 개발하려면 몇 가지 특정 단계와 지식이 필요합니다. 다음은이 과정을 시작하는 데 도움이되는 기본 안내서입니다. Gitlab을 먼저 설치하려면 Debian 시스템에 Gitlab을 설치해야합니다. Gitlab의 공식 설치 매뉴얼을 참조 할 수 있습니다. API 액세스 토큰을 얻으십시오 API 통합을 수행하기 전에 Gitlab의 API 액세스 토큰을 먼저 가져와야합니다. Gitlab 대시 보드를 열고 사용자 설정에서 "AccessTokens"옵션을 찾은 다음 새 액세스 토큰을 생성하십시오. 생성됩니다

데비안 시스템에서 HTTPS 서버를 구성하려면 필요한 소프트웨어 설치, SSL 인증서 생성 및 SSL 인증서를 사용하기 위해 웹 서버 (예 : Apache 또는 Nginx)를 구성하는 등 여러 단계가 포함됩니다. 다음은 Apacheweb 서버를 사용하고 있다고 가정하는 기본 안내서입니다. 1. 필요한 소프트웨어를 먼저 설치하고 시스템이 최신 상태인지 확인하고 Apache 및 OpenSSL을 설치하십시오 : Sudoaptupdatesudoaptupgradesudoaptinsta

아파치는 인터넷 뒤의 영웅입니다. 웹 서버 일뿐 만 아니라 큰 트래픽을 지원하고 동적 콘텐츠를 제공하는 강력한 플랫폼이기도합니다. 모듈 식 설계를 통해 매우 높은 유연성을 제공하여 필요에 따라 다양한 기능을 확장 할 수 있습니다. 그러나 Modularity는 또한 신중한 관리가 필요한 구성 및 성능 문제를 제시합니다. Apache는 사용자 정의가 필요한 서버 시나리오에 적합하고 복잡한 요구를 충족시킵니다.
