ホームページ  >  記事  >  バックエンド開発  >  Django のライブラリ管理システムの実装手順 (コード付き)

Django のライブラリ管理システムの実装手順 (コード付き)

不言
不言転載
2018-10-08 16:11:547434ブラウズ

この記事の内容は、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 サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。