カテゴリ: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アプリケーションに幅広く対応できるもので、慣れれば簡単なアプリは数分で構築可能だったりします。
以下に公式ドキュメントがあります。すぐにはなくていいです、読んでみましょう。
・実際の導入手順
(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です!
またローカルサーバは「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