コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

Djangoガールズしゅ~ご~!!

PaizaCloudクラウドIDEを使ってみたいがためにDjangoさわることにした

はい、おはようございます。僕です。本日はクラウドIDEを試してみたいがためにフレームワーク触ってみたとか言う記事を書いてしまいました。どうして僕はこうも非生産的な活動ばかりしてしまうのでしょうか?

てなわけでして、前々から気になっていたこのIDEを使ってみることにしたのでした。
PaizaCloudクラウドIDE

ブラウザを開くだけでエディタ、Webサーバ、DB等の開発環境が整う クラウド開発環境PaizaCloudクラウドIDE

これです。料金プランはフリーでやっていきます。


んで、せっかくクラウドIDE使うんだからフレームワーク使って何かするなどしたいと思ったんですよ。何がいいか悩んだんですが、サクッと終わりそうな気がしたDjango Girls Tutorialいじったりすることにしました。アプリとして何か出来ればなんでも良かった。Railsチュートリアルとかでもよかったんですけどあれ長いんですよね……。

Django Girls Tutorial【日本語版】
Django Girls Tutorial【英語版】

Django公式
Django ドキュメント | Django documentation | Django

Django(ジャンゴ)は、Pythonで実装されたWebアプリケーションフレームワーク。 model-view-controller デザインパターンに緩やかに従う。 もともとはローレンス (カンザス州)にある World Companyのために、ニュース系のサイトを管理する目的で開発され、2005年7月に BSD License で公式にリリースされた。フレームワークはジプシー・スウィングのギタリストであるジャンゴ・ラインハルトにちなんで命名された。

Djangoについてはこんなのです。詳しくは公式をみよう。


まずは触ってみる

とりあえずIDEの方を起動(?)するとこんな感じの画面が表示されます。
f:id:andron:20180915120150p:plain
あとから設定できたりもするそうだけど、初期設定にDjangoがあるのでそれを設定します。



f:id:andron:20180915123721p:plain
起動した画面はこんな感じです。この画面から必要に応じてカスタマイズしていきます。


じゃあ、Django Girls Tutorialの方に話を戻します。まあ、とりあえず設定とかは流れにそっていけばできます。ただ、接続は以下の設定にしないとつながってくれないようです。

# プロジェクトの作成
$ django-admin startproject 【プロジェクト名】 .
# マイグレーション
$ python manage.py migrate
# サーバの起動
$ python manage.py runserver

Djangoまともに触るのはじめてだけど、manage.py使って機能を動かす感じっぽいですね。

settings.py(接続設定)

ALLOWED_HOSTS = ['*']

f:id:andron:20180915101020p:plain
こんなことをやってやると、これからいじっていくガワの用意はできます。それじゃあ中身をいじっていきましょう。


まずはモデルを作ります。設定ファイルの情報とかはコピペだしソース見ればわかることなんでいいかなって残しませんが、コマンドとかはソースだけでどうにもならない感あるんでそれの手順は残しておこうと思います。

# アプリケーションの作成
$ python manage.py startapp 【アプリ名】
# なんかいろいろいぢる
# マイグレーションファイルを作成
$ python manage.py makemigrations【 アプリ名】
# マイグレーション
$ python manage.py migrate 【アプリ名】


これで/adminに移動するとこんな感じになるようです。
f:id:andron:20180915104054p:plain

# 管理者情報の設定
$ python manage.py createsuperuser

パスワード適当に設定したら短すぎとか普通すぎるとかで怒られた……。フレームワークってそんなところまで見てくれるんだ……。

設定した情報で入るとこうなります。
f:id:andron:20180915104822p:plain
とりあえず色々いじれそう。



中身をつくろう

そうしたわけで、管理者機能の動作確認ができたので中身を作っていきます。

あ、そういばルーティングの設定の仕方がurlからpathに変更されてます*1ので注意です。んで、そうやってなんやかんや設定するとこんな感じにHTML表示してくれるようになります。
f:id:andron:20180915111204p:plain


そして、対話モードにしてなんかクエリ詰め込みます。

# 対話モード
$ python manage.py shell

んで、適当にクエリ詰め込んでビューの設定いじってHTML・CSSいじると下みたいな感じになります。個人的に先にクエリいじるよりテンプレート先にいじる方がどんどんできてく感を堪能できていいと思う。

f:id:andron:20180915115507p:plain
こうなります。


とまあ、そんな感じにできるようです。そのほかの拡張機能とかの話はまたやる気がでたら更新記事書くかもしれないし書かないかもしれない。フリープランだと動作確認は簡単にできるけども、作ったやつの保存が尋常でなく面倒くさい……。

とりあえずPaizaのやつはフリーだとささっと動作確認する用って感じかなぁ……。がっつり作りこむには色々な制限がきつい気がする。



Djangoのほうは公式のドキュメント読みながらやれば作りたいもの作れるようになるんじゃないかな(適当)。

*1:2.x系だとそうなるっぽい