競プロ弱者の解答

競プロ弱者の成長記録

競プロerがwebアプリを作る-5

 週末のAtCoderのコンテストで、自己ベストのパフォーマンスが出せたので、今週はご機嫌にアプリの学習ができそうです。

 

前回までの進捗

 学習に用いたもの

 ・Python Django 超入門(以下超入門)

 ・Django girls Tutorial(日本語版)(以下girls)

 ・滝澤成人先生のブログ

 最低限のCURD(レコード作成、取得、更新、削除)機能を持たせたアプリ?を作成後、Python anywhere上にデプロイ。

 時刻の入力が可能になり、BootStrapを扱える(デザインセンス的な意味では、使えません)様になり、ページネートを実装しました。

 今回はこの状態からスタート

f:id:syunsuk1024:20191018233506p:plain

 だんだんアプリっぽくなってきましたが、ログインなしで全部のページにアクセスできてしまいます。これでは困るので、ログイン機能を実装しました。

 ログイン周りの実装は、siny先生のblogDjangoユーザセッション管理機能を実装してみた。の記事がとてもわかりやすかったです。

 サンプルコードと、そのコードの意味を丁寧に説明されています。

 (この記事以外にもじっくり読んで勉強したいですね。)

 おかげ様で、ログイン画面ができました。また、ログインせずにログイン画面以外にアクセスしようとすると、自動でログイン画面に飛ぶ設定にできました。

f:id:syunsuk1024:20191021235228p:plain

 これはかっこ良い!

 しかし問題発生!

 ログイン画面だけかっこ良いアプリってどうなんでしょう?

 

 また、Djangoの学習としては、滝澤成人先生のUdemyのDjangoの入門講座を一通り終えています。

 ところで、プログラミングの学習は、書籍やblog等の文字メインの学習と、映像と音声がメインの動画学習(上のUdemyは動画学習です)のどちらが適しているのでしょう?

 文字を見て、ゆっくり考えてから手を動かすほうが良いか、それとも動画を見て、イメージを持ってから手を動かすほうが良いのかどちらなんでしょう?

 長年文字メインで学習してきた私でも、動画学習はありかも!と思うくらいですから、若い方だともっと学習効率が上がるかもしれません。

 

 

次回は、DjangoBrothersの写真投稿サイトを作ります。

 

 また、残りの課題は

  ・DjangoBrotersの写真投稿サイト作成(新規)

  ・画像ファイルのアップロードを可能にしたい(引き続き)

  ログイン機能をつけたい(済)

  データ作成、更新日時(済)、作成者、更新者を表示させたい

   (これはログイン機能が先では?)

  ・SQLを使ったちょっと上等な検索(引き続き)

  ・1対多のDB作り