検索
ホームページバックエンド開発Python チュートリアルDjango のライブラリ管理システムの実装手順 (コード付き)

この記事の内容は、Django のライブラリ管理システムの実装手順 (コード付き) に関するものであり、一定の参考価値があります。必要な友人は参考にしていただければ幸いです。

パブリッシャーの追加、削除、変更、クエリ

パブリッシャーのリストの表示:

1. テーブル構造の作成:


2. これら 2 つのコマンドを組み合わせてプレス テーブルを作成します


##出版社関数を作成し、URL で設定します

#出版社のテーブルを表示する HTML ページを作成します

forループ

{% for i in ret %} ---- テンプレート言語

i はret

から取得したオブジェクトを指します
{{ forloop.counter }} ; からのカウント用カウントするには 1
{{forloop.Counter0}}-& gt; 0 から始まる for ループ
{ % endFor %}

これは、出版社を追加します (元のテーブルに追加します)

出版社を追加するには、まず追加ページに移動し、出版社の追加関数を作成します (URL で構成):

追加ページの作成

ページに入力した情報を投稿形式で辞書に送信し、カプセル化します。 name キーの値を入力し、最後に press_add

追加と表示が完了しました:

Youパブリッシャーのリスト ページでタグを作成することもできます。クリックすると、追加ページに移動します。

パブリッシャーの削除:

パブリッシャーに削除操作を追加します。リストを選択し、「項目の削除」をクリックして、削除する項目をデータベースに追加します。「削除」です。

出版社リストの HTML ページに、「削除」リクエストをクリックした後にリクエストを受け取るオブジェクトを指定します。

#出版社を削除する関数を作成します。つまり、リクエストを受信して​​処理する関数を作成します。

## 出版社の編集

元の出版社の情報を変更し、元のリストに「編集」オプションを追加して、クリックします。このオプションを使用して、編集ページに移動します。

出版社を編集するための関数を作成します (および構成を完了します)。関数内のデータベースを変更および同期します

編集した HTML ページを作成する

ブックを追加、削除、変更、クエリする

データベース内の書籍のリスト:

データベース内のこれら 2 つのコマンドを使用して、モデル内の書籍のテーブル構造クラスを作成します。テーブルの作成

#書籍リストを操作する関数 (URL に設定)

フロントエンドに表示される HTML ページを作成

# 注: 関数内でテーブルを操作するには、ORM 言語で記述されたテーブル構造クラスを使用する必要があります。

出力 Press オブジェクト オブジェクトは、外部キーを通じて取得された出版社オブジェクトです。print(data[0].press. name)のように出版社名を出力することもできます。

さらに、data[0].press_id は、外部キーを通じてこの書籍に関連付けられた出版社 ID を照会できます。クラス内でテーブル構造を作成するプロセス中に、外部キーを作成すると、データベース内に外部キーが自動的に作成されます。 id、この時点での外部キー ID はこのテーブルにあります。

data[0].press.id もこれでクエリできます。この書籍に関連付けられた出版社 ID は、結合テーブルを通じて照会されます。.press は出版社のオブジェクトです。.id は、data[0] に関連する出版社 ID を自然に取得できます。

書籍を追加

書籍を追加するための操作関数を作成します (URL で構成)

#(注: 上の図の名前は間違っています。テーブル構造 名前は title です)

追加ページの作成

書籍の削除

書籍に削除操作項目を追加しますリスト内の操作項目をクリック 削除機能にジャンプし、削除操作を実行します。

#ブックを編集する

ブック ページで、編集操作のオプションを追加し、編集するブック オブジェクトを選択し、変更するページに移動して、保存します。

ブックを編集するための操作関数を作成 (および設定):

#注: 最後の「return」は、情報が編集されていない場合は、最初に編集ページに移動し、選択したオブジェクトの情報を編集する必要があります。編集が完了したら、送信します。

編集ページを作成します: #著者の削除と変更を確認する (多対多)

著者は複数の本を書くことができ、1 つの本に複数の著者が含まれることもあります。

著者と本の関係を作成する

方法 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')

クエリ: データベース内のすべての著者情報を検索し、ページに表示します

著者関数を作成して構成します

##html ファイルを作成してページに表示します

Add: 追加操作の関数を作成し、追加ページを表示し、ユーザーの追加情報を取得してデータベースに返し、作成者情報を表示します。操作を追加して設定する関数

#情報を取得するページを作成

# #削除と編集

#作成者リストに削除操作項目を追加し、削除対象のオブジェクトをロックします。


削除する操作関数を作成

##作成者リストに編集操作を追加、編集対象のオブジェクトをロック


編集機能を作成して設定します。

HTML ページを作成し、編集内容を表示します。ページを開き、ユーザーが入力した情報を取得します

注: テンプレート言語の判断では、{% if book in author.books.all %} は書籍を意味します。著者に関連付けられた書籍のリストにあります。

ORM 多対多の編集では、3 番目のテーブルを直接編集できません。ORM:all(); によって提供されるメソッドを使用する必要があります。 (id1, id2); set([id1, id2]); clear() clear

ファイルをアップロードする

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

创建上传文件的html页面  

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

以上がDjango のライブラリ管理システムの実装手順 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は博客园で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Pythonの主な目的:柔軟性と使いやすさPythonの主な目的:柔軟性と使いやすさApr 17, 2025 am 12:14 AM

Pythonの柔軟性は、マルチパラダイムサポートと動的タイプシステムに反映されていますが、使いやすさはシンプルな構文とリッチ標準ライブラリに由来しています。 1。柔軟性:オブジェクト指向、機能的および手続き的プログラミングをサポートし、動的タイプシステムは開発効率を向上させます。 2。使いやすさ:文法は自然言語に近く、標準的なライブラリは幅広い機能をカバーし、開発プロセスを簡素化します。

Python:汎用性の高いプログラミングの力Python:汎用性の高いプログラミングの力Apr 17, 2025 am 12:09 AM

Pythonは、初心者から上級開発者までのすべてのニーズに適した、そのシンプルさとパワーに非常に好まれています。その汎用性は、次のことに反映されています。1)学習と使用が簡単、シンプルな構文。 2)Numpy、Pandasなどの豊富なライブラリとフレームワーク。 3)さまざまなオペレーティングシステムで実行できるクロスプラットフォームサポート。 4)作業効率を向上させるためのスクリプトおよび自動化タスクに適しています。

1日2時間でPythonを学ぶ:実用的なガイド1日2時間でPythonを学ぶ:実用的なガイドApr 17, 2025 am 12:05 AM

はい、1日2時間でPythonを学びます。 1.合理的な学習計画を作成します。2。適切な学習リソースを選択します。3。実践を通じて学んだ知識を統合します。これらの手順は、短時間でPythonをマスターするのに役立ちます。

Python vs. C:開発者の長所と短所Python vs. C:開発者の長所と短所Apr 17, 2025 am 12:04 AM

Pythonは迅速な開発とデータ処理に適していますが、Cは高性能および基礎となる制御に適しています。 1)Pythonは、簡潔な構文を備えた使いやすく、データサイエンスやWeb開発に適しています。 2)Cは高性能で正確な制御を持ち、ゲームやシステムのプログラミングでよく使用されます。

Python:時間のコミットメントと学習ペースPython:時間のコミットメントと学習ペースApr 17, 2025 am 12:03 AM

Pythonを学ぶのに必要な時間は、人によって異なり、主に以前のプログラミングの経験、学習の動機付け、学習リソースと方法、学習リズムの影響を受けます。現実的な学習目標を設定し、実用的なプロジェクトを通じて最善を尽くします。

Python:自動化、スクリプト、およびタスク管理Python:自動化、スクリプト、およびタスク管理Apr 16, 2025 am 12:14 AM

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

Pythonと時間:勉強時間を最大限に活用するPythonと時間:勉強時間を最大限に活用するApr 14, 2025 am 12:02 AM

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Python:ゲーム、GUIなどPython:ゲーム、GUIなどApr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

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ヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン