[django]単純注釈整理


request


json.loads(request.body)

data = json.loads(request.body)
  • jsonの資料型に積む、荷物を送るという意味です.パラメータはrequestです.bodyのものを詰めて送ります
  • jsonで文字列を読み込むときはloadを使用し、ファイルを読み取るときはloadを使用します.
  • json.loads()JSON文字列をPythonの辞書に分割します.パラメータはバイトタイプを受け入れます.
  • ソース:https://ko.wikipedia.org/wiki/JSON
    JSON(ジェイソン[1], JavaScript Object Notation(JavaScript Object Notation)  属性→値ペア(attribute-valueペアおよび配列データ型(または任意の他のシーケンス可能な値)またはヒト読み取り可能なテキストを使用する  オープンスタンダード  は、書式設定されています.非同期ブラウザ/サーバ通信用(AJAX)、  これは、XML(AJAX)の代わりに使用されるプライマリ・データ・フォーマットです.特に、  周知のように、ネットワークで資料を交換する際には、資料を表現する方法が用いられる.データの種類には大きな制限はありません.特に  コンピュータプログラム  へんすうの値を表すのに適しています.
    本来  JavaScript  言語に由来  JavaScriptの構文フォーマットに従いますが、言語独立型データフォーマットです.つまり.  プログラミング言語  ホームとは独立しています.  構文解析  とJSONデータ生成コード  CC++C#ジャワJavaScriptパールパイ  無数  プログラミング言語で使いやすいです.
    JSON形式は本来  ダグラス・クロフォードによって規定されています.RFC 7159、ECMA-404およびISO/IEC 21778:2017 [2] 標準で記述する.KS適合化基準はまだ制定されておらず、TTA協会の基準名は  TTAE.OT-10.0394.ECMA規格とISO/IEC規格は最低限の構文のみを定義しており、RFCはいくつかのシステム性と安全性の考慮事項を提供している.[3]  JSONの公式ネットメディアタイプは  application/json;JSONのファイル拡張子は  .json.

    Error Handling


    自由乗船の過程で、隊員たちから多くのことを学んだが、どんなことがあっても、どんな要求があっても、どんなパラメータがあっても、雨の日を爆発させない.みんなこんなに頑張っています.機能を実現するために...たくさん勉強しました.また、私が書いたコードを育成していろいろな実験を行い、同時に間違った習慣を追跡します!
    except TypeError:
    	return JsonResponse({'message' : 'TYPE_ERROR'}, status=400)
    は、
  • タイプのエラーを返します.jsonを使用して通信する場合はdictionary+stringを使用する必要があります.そうしないと、エラーが修正されます.
  • except json.JSONDecodeError:
    	return JsonResponse({'message' : 'JSONDecodeError'}, status = 400)
  • jsonフォーマット自体を確認します.つまり、ディック式で入らないとエラーが発生します.
  • 要求の使用

  • 取付
  • pip install requests
  • Shellから
  • に導入する.
    import requests, json
  • を使用
    In [4]: url = requests.get("[https://dev.mycar.cardoc.co.kr/v1/trim/15000](https://dev.mycar.cardoc.co.kr/v1/trim/15000)")
    
    In [5]: text = url.json
    
    In [6]: text
    
    Out[6]: <bound method Response.json of <Response [200]>>
    
    In [7]: text = url.json()
    
    In [8]: text
    
    Out[8]:
    {'brandId': 4,
    'brandName': 'BMW',
    'brandNameEng': 'BMW',
    'country': 'DEU',
    'isImported': True,
    'brandImageUrl': '[http://file.carisyou.com/upload/2020/04/03/FILE_202004031126290740.png](http://file.carisyou.com/upload/2020/04/03/FILE_202004031126290740.png)',
    'brandUrl': '[http://www.bmw.co.kr/](http://www.bmw.co.kr/)',
    'modelId': 122,
  • リクエストライブラリにはget()という方法があり、URLをパラメータとしてGETリクエストを指定したURLに送信します.サーバから受信した応答は、私が現在設定しているurlに指定されます.
  • url変数に格納されているこの応答はurlです.textと同じです.text、json、json()メソッドを使用して、データ型に変換できます.その後text変数に結果を格納します.
  • jsonモジュールは、load()という名前の方法とともに提供され、load()のsは文字列を表す.文字列データをJSONに変換したいので、このメソッドの文字列データjsonをメソッドで使用します.load(text)を含むtext変数は、転送データ変数
  • に格納する必要がある.

    キー値としてインポート可能

    In [17]: url = requests.get("https://dev.mycar.cardoc.co.kr/v1/trim/15000")
    
    In [18]: json_data = url.json()
    
    In [19]: json_data['spec']
    Out[19]:
    {'imageUrl': 'http://file.carisyou.com/newcar/spec/4055_bmw_granturismo2011_spec0.jpg',
     'fuel': {'name': '연비',
      'fuel': {'name': '연료',
       'value': 'Gasoline',
    ....
    
    In [20]: json_data['spec']['driving']
    Out[20]:
    {'name': '구동',
     'type': {'name': '구동방식',
      'value': 'AWD',
      'unit': '',
      'multiValues': '2WD,4WD,AWD,FF,FR,RR,MR'},
     'frontTire': {'name': '타이어 전',
      'value': '245/45R19',
      'unit': '',
      'multiValues': ''},
    ....
    
    In [22]: json_data['spec']['driving']['rearTire']
    Out[22]: {'name': '타이어 후', 'value': '275/40R19', 'unit': '', 'multiValues': ''}
    ソース:https://velog.io/@hojin11choi/TIL-Django-JSON-request.body
    ソース:https://www.delftstack.com/ko/howto/python/python-get-json-from-url/