LoginSignup
9
6

More than 1 year has passed since last update.

プログラミング初心者さん向けのDjango

Last updated at Posted at 2022-12-05

はじめに

こんにちは、3年生のいーじーです!
カレンダー交換してくれたさかすとさっちーさんには感謝です💕
みなさんも体は大事にしてください:disappointed_relieved:

流れとしては
①フレームワークとは?
②一般的なウェブサーバとDjango
③メリット・デメリット・できること
④Djangoのファイルの説明
⑤「hello world」を提示させる
で行きたいと思います!

①フレームワークとは?

まず、DjangoはPythonのウェブアプリケーションフレームワークです
フレームワークは使うと効率的にアプリケーションができるもの
最悪、あってもなくても同じものが作れます。イメージは下の写真
フレームワーク.png

②一般的なウェブサーバとDjango

一般的なウェブサーバ:URLと対象のファイルが1:1の関係
スクリーンショット 2022-12-16 205350.png
Django:上記と異なり複雑な処理を行う
スクリーンショット 2022-12-16 205452.png

これだと少し分かりづらい人もいると思うので、
一般的なウェブサーバ→ドーナツ屋さん
Djangoを使用した仕組み→ラーメン屋さん
に例えてみましょう。

一般的なウェブサーバ:
ドーナツ1つ頼むとそのままドーナツが1つもらえる=商品と注文が1:1
スクリーンショット 2022-12-16 205639.png
Django:
ラーメンの味や大きさ、どんなトッピングが必要か様々な種類がある。
=複雑な処理を行っている
スクリーンショット 2022-12-16 205733.png
実際にYouTubeの例でみると
スクリーンショット 2022-12-16 210335.png

③メリット・デメリット・できること

メリット
・ネットに情報が多いので学びやすい
・素早いプロトタイプ開発が可能
*実はDjangoは「締め切りの味方である完全主義者」がモチーフらしい
・簡単に共有ができる
・MTVモデルでアプリ開発が可能

デメリット
・処理速度が遅め
・全ての機能を把握するまで時間がかかる
・セキュリティ面への配慮が難しい
*セキュリティに知識がある人なら大丈夫
・Modelへのマッピングに注意

できること
・管理画面が作れる
・ユーザ認証ができるなどたくさん!!

④Djangoのファイルの説明

Djangoは環境を整えると勝手にファイルが作られています!
写真の低とかは重要度のことです
スクリーンショット 2022-12-16 210646.png
あんまり重要じゃないファイル
・_init_.py
→ほかのファイルからクラスや関数を呼び出すことができる
・wsgi.py
→WSGIという仕様にのっとってウェブサーバとDjango間を取り持つ役割
=ウェブサイトを公開する際の選択肢を増やせる
*ファイルを細かく編集する必要がない
・asgi.py
→多くのリクエストの記録を取って、同時に多くの処理ができるようにしている
難易度は高めでDjango3から新しく導入された

重要なファイル
・manage.py
→Djangoに備わっている便利な機能を使う
・setting.py
→プロジェクト全体の設定を行う
・urls.py
→ブラウザから受け取ったrequestをもとに、次のview.pyに対して指示を出す

⑤「hello world」を提示させる

①立ち上げ
コマンドプロンプトやターミナル等に下のを打つ
ファイル名はなんでもおっけいです〇

mkdir project1
cd project1
python3 -m venv venv
source venv/bin/activate
pip install Django==3.2
django-admin startproject helloworldproject 

②urls.pyの編集

urls.py
from django.contrib import admin
from django.urls import path
from.views import helloworldfunc

urlpatterns = [
    path('admin/', admin.site.urls)
    path('helloworldurl/', helloworldfunc)
]

③views.pyの作成+編集
views.pyはurls.pyと同じディレクトリに作成しましょう!

views.py
from django.http import HttpResponse

def helloworldfunc(request):
    return HttpResponse('hello world')

④実際に開いてみる
コマンドプロンプトやターミナル等に下のを打つ
注意:manage.pyがあるディレクトリで行う

python3 manage.py migrate
python3 manage.py runserver

実際に下のURLにログインすると
http://127.0.0.1:8000/helloworldurl/
スクリーンショット 2022-12-17 160723.png
成功です!

参考文献

1.カクレノ>HOME>書類・ファイル>文書
https://kotonohaworks.com/free-icons/bunsho/
2.素材Library.com
https://www.sozai-library.com/sozai/554
3.いらすとや
https://www.irasutoya.com/
4.大橋亮太・吉田薫(2022) Djangoのツボとコツがゼッタイにわかる本[第2版]
5.Djangoの機能でできること5つ メリット・デメリット4つとは?
https://www.acrovision.jp/career/?p=2962
6.Icon-pit https://icon-pit.com
7.ITCブログ【発見!】Djangoで作られたサイト有名どころ10選
https://itc.tokyo/django/10-websites-made-with-django/
8. ポテパン Django案件のイマがわかる!知って見つかる最適案件
https://freelance.potepan.com/blogs/4425#chapter_8

*今回のプログラム文は
4.大橋亮太・吉田薫(2022) Djangoのツボとコツがゼッタイにわかる本[第2版]
から引用しています。

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6