Django_C.R.U.D_1


コーヒーの力で手に入れたドラム!


出稼ぎ~🤩


👻 Webアプリケーションサーバ=Django!



👻 長時間の複雑な接続の原因!


以前は、すべての論理が1つの場所に集中し、さまざまなコードが1つのファイルに置かれていました.
->もちろん?多くの人は一度に仕事をすると問題しか起こらない.
プロジェクトが大きくなるにつれて、管理が難しくなり、設計モードではMVCモードを使用してコードを分離し始めました!しました.
結局、特定のエリアを分けて、互いにつながって、複雑になりましたハハ!远くから见ればもっといいこと!未来の私の祝福🥲

👻 MVC, MFV


二つは同じ意味でいいです!
M、V、Cは全部で3種類に分けて、有機的に帰ります!
  • Model
    セキュアストレージデータ
  • View
  • データがユーザに提示される
  • Control, Template (Django)
    ユーザー入力とイベントに応答してモデルとビューを更新
    ControlではなくTemplateを考えるだけ!
  • 👻 通信からデータ処理までのドラム!



    🤖 API


    Frontが画面を描くにはデータが必要です.FrontとBackの間でDatabaseのデータ(Frontが必要)を利用できるように中間ブリッジの役割を果たします!

    🤖 Frontend


    HTTP通信でクライアント(HTTP、Chrome、Postmanなど)を使ってサーバにリクエストを送信!

    🤖 Backend(私がやるべきことだ!ああ!)

  • Djangoアプリケーション解析クライアント要求(URLConf)
  • 論理処理を実行する
  • 要求
  • データベースとの通信(モデル)によりデータ操作
  • を実行する.
  • 要求に応答可能なBackend API
  • を実装する

    🙋‍♀️ models.py (table)


    データベース操作に関連するモジュールの作成


    Query Set APIが提供するモデルメソッド(all、filter、exclude、values、get、create、values listなど)を使用して、データベースでデータを作成、クエリー、変更、削除します.
    (すべてのコマンドを変数に含めて使えます!Pythonの勉強に頑張ります!)

    🙋‍♀️ makemigrationとmigrate


    ⭐️ models.pyで作成したクラスでテーブルを作成しましょうか?
    (データベースに入れるにはテーブルが必要です.)

  • makemigrations=データベースに適用するテーブルの設計図を作成します!

  • migrate=設計図をテーブルに適用するプロセス
    Pythonの上のをDatabaseに移動します!

  • DBに変更がある場合は、モデルです.pyに変更して再移行する必要があります🤤

  • アプリケーションを作成すると移行ディレクトリがあります!その中に遷移が発生します!
  • 🙋‍♀️ views.py


    🔥 ORM (Object-relational mapping)


    データベースとスクリプト言語(Python、JavaScript)の関係をマッピングする役割!


    オブジェクト向けプログラミング使用クラス、リレーショナル・データベース使用Talbe.オブジェクトモデルとリレーショナルモデルの間に不一致があるため、MySQLで不一致の問題を解決したい!

  • Python class(Object=オブジェクト)とDatabaseテーブルを1対1でDjangoにマッピング!

  • モデルにはidがなく、データベースにはidがあります.
    長高は順番に作られるので、特にモデルidを指定したい場合のみ指定します.

  • objectを書くのはormだと思ってください.
    △ORMのために状語を勉強する!ORMは状語だけではない.
  • 🙉 1. ORM - Create


    CharField公式ドキュメントを閲覧~
  • 表のすべての基本属性を記入する必要があります.
    空のオプションはnur=true
  • です.

    🙉 2. ORM - Read


    3つの大きな使い方があります!

  • get-リソースの取得時
    カッコに条件を入れればいい!
    地面を入れることができます.
    一つの方法しか持てない
    オブジェクトをpersonに直接インポート

  • filter
    カッコに条件を付けない場合はallに等しい
    かっこの中にいくつかの条件を入れることができます
    使ってみます!あるいは別の方法です...

  • all
    全部テーブルから持ってきて!
  • getはオブジェクトに直接インポートされます.
  • filter,allはQuerySet(オブジェクトを含むリストのようなもの)です.各要素はコンピュータで区別でき、インデックスできます![0]これらをゲートに変換できます!持ってきた!
    ドアを回すたびに、一つのオブジェクトを取り出して加工するので、これは未来の指数です^
  • 🙉 3.更新の変更


    だいたい2種類あります!

  • update
    QuerySetでのみ使用可能
    大賞を書くupdateを記入する必要があります!

  • save method
    オブジェクトの直接読み込みと影響
  • 🙉 4. Delete


  • rowは全部じゃない!!!消せ!
    特定のテーブル値のみを変更したい場合は、更新します.

  • exists()count()はオーバーヘッドが大きい
    methodを書くときはリセットですか、それとも数字ですか.どんな結果になるか知っておくべきだ.

  • valueはQuerySetバイナリです
  • 🙋‍♀️ テーブルを作成!Django ShellでQuery Set APIを使ってデータを追加!


    🤸‍♂️ Python (shell)


    仮想環境を実行した後に管理します.pyを含むディレクトリに次のコマンドを入力すると、shellは障害機能を有効にします.
    가상환경 키고 
    python manage.py shell

    🤸̴̴QuerySetは?


    渡されたオブジェクトのリスト!
    QuerySetは、データベースからデータを読み込み、フィルタまたはソートすることができます.
    Listは構造は同じですが、Pythonの基本資料構造ではなく、読み書きのために資料型変換が必要です.QuerySetは、データベース内の複数のレコード(行)を表します.

    🤸‍♂️ MySQLで確認!(ORM入力)

    mysql -u root -p   
    show databases;    
    use "사용할 database이름"
    show tables;
    
    #migrations 생성됐던 목록 보는 명령어
    mysql> select * from migrations;
    
    #class는 첫글자 대문자로 단수로,
    #table명은 소문자 복수로 써주면 됨
    
    #ORM 하려면 object해주는데 manager class임!
    
    #shell에서 변수 지정해줄 수 있음! 변수는 shell에서만 쓰자

    🙆‍♀️ urls.pyリクエストを共有する方法!




    📖 Backendとしてやるべきことは

  • 記述モジュール(models.py)および
  • HTTPメソッド要求を処理するための論理のビュー.pyと
  • の作成
  • HTTPクライアントが分析を要求するURL.Pyを作ろう!
    (適切なビューをマッピングするurls.pyを作成)

  • Djangoは言語ではなく、オープンソースWebアプリケーションフレームワークです.
    言語(Python)はツールで、Webシステムを作成するツールです!勉強を続けましょう.

  • 远いデータベースの世界に少し近づいたようで、楽しかったです.
    もっと勉強してもっと親しくなればもっと親しくなれるよ~~