ジャンゴ----(4)

図書館管理システム

プレスブックの作者

プレス管理

ショー

# 查询所有的数据
all_publishers = models.Publisher.objects.all()   #  对象列表

render(request,'publisher_list.html',{'all_publishers':all_publishers})

テンプレートの構文:

{{All_publishers}}変数

{all_publishers%でiに対する%}

{{forloop.counter}}、{{I}}

{%ENDFOR%}

新しいです

# 方式一
ret = models.Publisher.objects.create(name=pub_name)
# 方式二
obj = models.Publisher(name=pub_name)
obj.save()

削除

pk = request.GET.get('pk')
query = models.Publisher.objects.filter(pk=pk)  # 对象列表
query.delete()  # 通过queryset 删除
query[0].delete()  # 通过单独的对象 删除

編集します

obj = models.Publisher.objects.filter(pk=pk).first()  # 对象列表中第一个对象
obj.name = pub_name  # 内存中修改
obj.save()          # 提交
  1. ジャンゴコマンド

    1. ダウンロード

      ジャンゴ== 1.11.23をインストールPIP - 私は

    2. プロジェクトを作成します。

      ジャンゴ管理者startprojectのプロジェクト名

    3. 起動項目

      プロジェクトのルートディレクトリにcd

      python manage.pyのrunserver#127.0.0.1:8000

      80#127.0.0.1:80のrunserverのpython manage.py

      python manage.pyのrunserver 0.0.0.0:80#0.0.0.0:80

    4. アプリの作成

      python manage.py startappのアプリ名

      登録

    5. データベースの移行

      #はAPP登録移行ファイル検出の下でモデルを作成するのpython manage.py makemigrations

      #移行を移行manage.pyのPythonは、データベースの同期モデルにレコードを変更します

  2. Djangoの構成設定

    INSTALLED_APPS = [

    「App01、

    'app01.apps.App01Config'

    ]

    DATABASES

    ENGINE:エンジン

    NAME:データベースの名前

    HOST:IP

    PORT:3306

    USER:ユーザー名

    PASSWORD:パスワード

    静的ファイル

    STATIC_URL = '/静的/'

    STATICFILES_DIRS = [

    os.path.join(BASE_DIR、 '静的')

    ]

    ミドルウェア

    POSTを提出CSRFコメントアウト

    テンプレートテンプレート

     DIRS =[     os.path.join(BASE_DIR,‘templates’)]  
  3. ジャンゴ・プロセスを使用してMySQLデータベース

    1. MySQLデータベースを作成します。

    2. 構成データベースの設定

      ENGINE:エンジン

      NAME:データベースの名前

      HOST:IP

      PORT:3306

      USER:ユーザー名

      PASSWORD:パスワード

    3. pymysqlのMySQLデータベースを使用して接続されているジャンゴモジュールに知らせます。

      設定と同じディレクトリに__init__.py書き込み

      輸入pymysql

      pymysql.install_as_MySQLdb()

    4. models.pyでアプリの下のクラスで書きます

      class Publisher(models.Model):
          name = models.Charfield(max_length=32)   # varcher(32)
    5. 移行コマンド:

      #はAPP登録移行ファイル検出の下でモデルを作成するのpython manage.py makemigrations

      #移行を移行manage.pyのPythonは、データベースの同期モデルにレコードを変更します

  4. 違いをGETとPOST

    取得する

    GETリクエストの方法を送信します。

    1. フォームフォームはメソッドを指定しません
    2. アドレスバーにアドレスを入力して直接入力します
    3. タイトル

    ?K1 = v1の&K2 = V2 request.GET request.GET.get( 'K1')

    役職

    フォームのフォームメソッド=「ポスト」

    request.POST request.POST.get( 'K1')

  5. オブジェクトとリレーショナルデータベースのマッピングに向けられ

    地図:

    クラス - 「表

    オブジェクト - 「レコード(行)

    プロパティ - 「フィールド

    アプリのインポートモデルから

    クエリ:

    models.Publisher.objects.get(名前=「XXXXX」)#オブジェクトがクエリでユニークな、またはほとんど誤差の複数のを持っています

    models.Publisher.objects.filter(名前=「XXXXX」)#クエリオブジェクトリスト内のすべてのオブジェクトは、条件のクエリセットを満たすために

    models.Publisher.objects.all()#クエリすべてのデータオブジェクトのリストクエリセット

    追加:

    models.Publisher.objects.create(名前=「XXXXX」)#戻り値は新しいオブジェクトであります

    OBJ = models.Publisher(名= 'XXXXX')obj.save()

    削除:

    models.Publisher.objects.filter(PK = 1).delete()

    OBJ = models.Publisher.objects.filter(PK = 1)1次回()obj.delete()

    レビュー:

    OBJ = models.Publisher.objects.filter(PK = 1)1次回()

    obj.name = 'XXXXX'

    obj.save()

  6. テンプレートの構文

    (リクエスト、 'テンプレートファイル名'、{ 'K1' を、V1})レンダリング

    変数

    {K1} {}

    forループ

    {K1%以下でiに対する%}

    {{}} forloop.counter

    {{I}}

    {%ENDFOR%}

    外部キー

    多くの

    図書館管理システム

    プレス

    ブック

    外部キーデザイン

    class Book(models.Model):
        title = models.CharField(max_length=32)
        pid = models.ForeignKey('Publisher', on_delete=models.CASCADE) # 外键 
        #  on_delete  2.0 必填 
    

クエリ:

all_books = models.Book.objects.all()
print(all_books)
for book in all_books:
    print(book)
    print(book.pk)
    print(book.title)
    print(book.pub,type(book.pub))  # 所关联的对象 
    print(book.pub_id,type(book.pub_id))  # 所关联的对象的pk
    print('*' * 32)

新しいです

models.Book.objects.create(title=title,pub=models.Publisher.objects.get(pk=pub_id))
models.Book.objects.create(title=title, pub_id=pub_id)

削除:

pk = request.GET.get('pk')
models.Book.objects.filter(pk=pk).delete()

エディタ:

book_obj.title = title
book_obj.pub_id = pub_id
# book_obj.pub = models.Publisher.objects.get(pk=pub_id)
book_obj.save()

おすすめ

転載: www.cnblogs.com/hql1117/p/11420386.html