찾다
백엔드 개발파이썬 튜토리얼Django의 라이브러리 관리 시스템 구현 단계(코드 포함)

이 글의 내용은 Django의 라이브러리 관리 시스템(코드 포함)의 구현 단계에 관한 것입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

출판사 추가, 삭제, 수정 확인

출판사 목록 표시:

1. 테이블 구조 생성:


2. 이 두 명령을 결합하여 프레스 테이블을 생성합니다


게시자 기능을 생성하고 URL에서 구성

출판자의 테이블을 표시하는 HTML 페이지를 생성합니다

for loop

{% for i in ret %} --- - 템플릿 언어
나는 ret
{{ forloop.counter }}에서 얻은 객체를 참조합니다.                                                                                                  

출판사 추가(원본 테이블에 추가)

출판사를 추가하려면 먼저 추가로 이동하세요. 페이지를 만들고 게시자 추가 기능을 만듭니다(URL에 구성됨):


추가 페이지 만들기

페이지에 입력한 정보를 게시물 형식으로 사전에 제출하고 이름 키에 캡슐화합니다. 값을 입력하고 마지막으로 press_add에 전달합니다

추가를 완료하고 표시합니다.

게시자 목록 페이지에서 태그를 생성할 수도 있습니다. 클릭하면 추가 페이지로 이동할 수 있습니다

삭제 출판사:

출판사 목록에 삭제 작업을 추가하고 항목 삭제를 클릭한 다음 삭제하려는 항목을 데이터베이스에서 삭제에 넣습니다.

출판사 목록의 html 페이지에 "삭제"를 클릭한 후 해당 항목을 표시합니다. request, 요청을 받는 객체입니다.

출판사를 삭제하는 함수를 만듭니다. 즉, 요청을 받는 함수를 만들고, 요청을 처리합니다.

Edit 게시자

원본 출판사 정보를 수정하고, 원본 목록에 '편집' 옵션을 추가하고, 이 옵션을 클릭하면 편집 페이지로 이동합니다.

출판사 편집 기능을 생성하고 구성을 완료합니다. 그리고 함수에서 데이터베이스를 동기화합니다

편집된 HTML 페이지 만들기

책 추가, 삭제, 수정 및 확인

데이터베이스 목록에 책 만들기:

책 클래스 만들기 모델에서 테이블 구조를 만들고 이 두 명령을 통해 데이터베이스에 테이블을 생성합니다

도서 목록을 조작하는 함수를 생성합니다(그리고 URL에 구성합니다)

도서 목록에 표시되는 HTML 페이지를 생성합니다. front end

참고: 함수에서 테이블을 조작하려면 ORM 언어로 작성된 테이블 구조 클래스를 통해 테이블 ​​정보를 얻어야 합니다.

출력 Press 객체 외국어를 통해 얻은 게시자 객체 키를 사용하면 출판사 이름을 인쇄할 수도 있습니다: print(data[0].press.name)

또한, data[0].press_id는 클래스에서 테이블 구조를 생성하는 과정에서 외래 키를 통해 이 책과 관련된 출판사 ID를 쿼리할 수 있으며, 외래 키를 생성하면 데이터베이스에 자동으로 외래 키 관련 ID가 생성됩니다. , 이때 외래 키 ID는 이 테이블에 있습니다.

data[0].press.id 조인 테이블 쿼리를 통해 이 책과 관련된 출판사 ID를 쿼리할 수도 있습니다. .id는 출판사의 데이터[0]에 관련된 출판사 ID를 자연스럽게 얻을 수 있습니다.

Add books

도서 추가를 위한 작업 기능 만들기(url에 구성)

(참고: 위 사진의 이름이 잘못되었습니다. 테이블 구조의 책 제목이 제목입니다)

추가 페이지 생성

도서 삭제

도서 목록에서 삭제 작업 항목을 추가하고 작업 항목을 클릭하세요. 삭제 기능으로 이동 삭제 작업으로 이동합니다.

책을 삭제하는 작업 기능을 만듭니다

책 편집

책 페이지에서 편집 작업 옵션을 추가하고, 편집할 책 개체를 선택하고, 점프합니다.

책 편집을 위한 작업 기능 만들기(및 구성):

 

참고: 끝에 '반환'은 정보가 없는 경우를 의미합니다. 편집이 완료되었으면 먼저 편집 페이지로 이동해야 합니다. 편집이 완료된 후 정보를 편집하세요.

편집 페이지 만들기:

작성자의 삭제 내용을 확인하고 수정(다대다)

저자는 여러 권의 책을 쓸 수 있고, 한 권의 책에 여러 명의 저자가 있을 수도 있습니다.

저자와 책 간의 관계 만들기

방법 1:

# 作者:
class Author(models.Model):
    id = models.AuthorField(primary_key=True) # 自增id主键
    name = models.CharField(max_length=32) # 作者名字
# 创建作者和书籍的关系表
class Author2Book(models.Model):
    id = models.AuthorField(primary_key=True)
    author = models.Foreignkey(to='Author', on_delete=models.CASCADE)
    book = models.Foreignkey(to='Book', on_delete=models.CASCADE)

방법 2(ORM으로 작성)

class Author(models.Model):
    id = models.AuthorField(primary_key=True) # 自增id主键
    name = models.CharField(max_length=32) # 作者名字
    books = models.ManyToManyField(to='Book')

Query: 데이터베이스에서 모든 작성자 정보를 찾아 페이지에 표시합니다.

작성자 기능을 생성하고 구성합니다.

html 파일을 생성하여 표시합니다. 페이지에

Add: 추가 작업을 위한 함수를 만들고, 추가 페이지를 표시하고, 사용자를 가져오고, 정보를 추가하고, 데이터베이스에 반환한 다음 작성자 정보를 표시합니다

. 추가 작업을 위한 기능을 만들고 구성

정보를 얻을 수 있는 페이지 만들기

삭제 및 편집

작성자 목록에서 삭제 작업 항목을 추가하고 개체를 잠급니다. 삭제됨,


삭제할 작업 기능 생성,

작성자 목록에 편집 작업 추가, 편집할 개체 잠금

만들기 편집 기능 및 구성:

HTML 페이지 만들기, 편집 페이지 표시 및 사용자가 입력한 정보 가져오기

참고: 템플릿 언어, 판단에 있어서 {% if book inauthor .books .all %}는 책이 저자와 관련된 책 목록에 있는지 여부를 의미합니다.

ORM 다대다 편집에서는 세 번째 테이블을 직접 편집할 수 없습니다. ORM에서 제공하는

all() 메서드를 사용해야 합니다. ; add( id1, id2); set([id1, id2]); 지우기

파일 업로드

创建上传文件的操作函数,并配置好

创建上传文件的html页面  

enctype="multipart/form-data" 是文件操作必须要有的

위 내용은 Django의 라이브러리 관리 시스템 구현 단계(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 博客园에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
파이썬 : 자동화, 스크립팅 및 작업 관리파이썬 : 자동화, 스크립팅 및 작업 관리Apr 16, 2025 am 12:14 AM

파이썬은 자동화, 스크립팅 및 작업 관리가 탁월합니다. 1) 자동화 : 파일 백업은 OS 및 Shutil과 같은 표준 라이브러리를 통해 실현됩니다. 2) 스크립트 쓰기 : PSUTIL 라이브러리를 사용하여 시스템 리소스를 모니터링합니다. 3) 작업 관리 : 일정 라이브러리를 사용하여 작업을 예약하십시오. Python의 사용 편의성과 풍부한 라이브러리 지원으로 인해 이러한 영역에서 선호하는 도구가됩니다.

파이썬과 시간 : 공부 시간을 최대한 활용파이썬과 시간 : 공부 시간을 최대한 활용Apr 14, 2025 am 12:02 AM

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

파이썬 : 게임, Guis 등파이썬 : 게임, Guis 등Apr 13, 2025 am 12:14 AM

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

Python vs. C : 응용 및 사용 사례가 비교되었습니다Python vs. C : 응용 및 사용 사례가 비교되었습니다Apr 12, 2025 am 12:01 AM

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

2 시간의 파이썬 계획 : 현실적인 접근2 시간의 파이썬 계획 : 현실적인 접근Apr 11, 2025 am 12:04 AM

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

파이썬 : 기본 응용 프로그램 탐색파이썬 : 기본 응용 프로그램 탐색Apr 10, 2025 am 09:41 AM

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 ​​같은 작업에 적합합니다.

2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?Apr 09, 2025 pm 04:33 PM

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?Apr 02, 2025 am 07:18 AM

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

See all articles

핫 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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.