このブログの作者はフロントエンドにweightをかけ過ぎている者です(他の記事見ると察して頂けるかと)😇
温かい目で見守って頂けると助かります
1. 背景
業務でDjangoを使っているもののさっぱりな為なんとかしたいと思った為です。
ということで軽く概要から入ります。
2. Djangoとは
Pythonのフレームワークです
歴史
当初、2003 年から 2005 年の間に、新聞のウェブサイトの作成とメンテナンスを担当するウェブチームによって開発されたそうです。
いくつかのサイトを作成した後、チームは多くの共通コードとデザインパターンを除外、再利用するようになりました。
この共通コードは、"Django" プロジェクトとして 2005 年 7 月にオープンソース化され、汎用のウェブ開発フレームワークに発展しました。
Djangoの由来
ジプシー・スウィングのギタリストでのジャンゴ・ラインハルト (Django Reinhardt) からとったものだそうです
Djangoの概要
Ridiculously fast
Djangoは素早く立ち上げることができるそうです
Getting started with Django
3. Djangoの特徴
Fully loaded
一般的な Web開発タスクを処理するために使える数十の追加機能が含まれているそうです。
ORM
ORM(object-relational mapper)とは
- 名前の通り、「オブジェクト」と「関係データベース」をマッピングしてくれる
- 非オブジェクト指向言語であるSQLを意識しながらオブジェクト指向プログラムを書くことができる
- RDBMSによるSQL文法の違いを吸収できる
テンプレートエンジン
テンプレートエンジンとは
テンプレートとなる部分とデータモデルで表現される入力データを合成し、成果ドキュメントを出力します
- Django テンプレート言語 (DTL) と呼ばれる独自のテンプレートシステム
- Jinja2 用のバックエンドをビルトインで同梱
- 他のテンプレート言語用のバックエンドもカスタムテンプレートバックエンドで使用できる
他にも以下の機能があるそうです
- ユーザ認証
User authentication in Django - コンテンツ管理
The Django admin site - サイトマップ
The sitemap framework- サイトマップとは
検索エンジンのインデクサーに、ページの変更頻度やあるページがサイト内の他のページと比較してどの程度「重要」であるかを伝える、ウェブサイト上のXMLファイルのことです
- サイトマップとは
- RSSフィード
The syndication feed framework- RSS(Really Simple Syndication)とは
サイトの更新情報を公開するために設計されたいくつかのXML文書フォーマット
RSS
- RSS(Really Simple Syndication)とは
Reassuringly secure
- よくあるセキュリティミスを回避できるように開発者を支援
セキュリティミスの例- SQLインジェクション
- クロスサイトスクリプティング
- クロスサイトリクエストフォージェリ
- クリックジャッキング
- ユーザ認証システムは、ユーザアカウントとパスワードを安全に管理する方法を提供
Security in Django
Exceedingly scalable
迅速かつ柔軟なスケール能力を使って、最も激しいトラフィック需要に対応
Does Django scale?
Incredibly versatile
組織、用途問わず、あらゆるものを構築するためにDjangoは使われてきたそうです
なんとInstagram,Spotify,Youtubeで使われているそうです
4. Document
-
https://www.djangoproject.com/start/overview/
公式Documentです -
https://www.django-rest-framework.org/
DRF(django-rest-framework)とはRESTfulAPI開発に特化したDjangoのフレームワークだそうです
それのDocumentです -
https://developer.mozilla.org/ja/docs/Learn/Server-side/Django
MDNはフロントエンドの開発でしか使ったことないですが、結構わかりやすく書かれていたので見てみようと思います -
https://djangopackages.org/
Django向けのさまざまなパッケージやアプリケーションのリストを提供しているサイトです
他にサイトありましたら教えてください
5. 参考
- GeoDjangoではじめる地理空間情報
- Django REST Framework とは?(Python アプリケーション)
- djangoproject
- Djangoで作られたサイト
- RSS
- テンプレートエンジンを理解する!初心者でも分かる構成、メリットなどの基礎知識から総勢12種類のご紹介まで!
- ORMのメリットやユースケース
- MDN Django の紹介
- 10 Popular Django Websites That You Probably Know
6. 最後に
- フロントエンドに尖りすぎていたので、一般レベルまでバックエンドのスキルもつけていきたいです!
- 次は「直接DBのtableを削除した際にmodelと同期が取れなくなった話」を記事に書きます