Django의 라이브러리 관리 시스템 구현 단계(코드 포함)

不言
풀어 주다: 2018-10-08 16:11:54
앞으로
7507명이 탐색했습니다.

이 글의 내용은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿