nikkie-ftnextの日記

イベントレポートや読書メモを発信

週末ログ | Rails ActiveAdmin の素振りと Django Girls Tutorial 翻訳レビュー

はじめに

いつも心は虹色に! nikkieです。
8/4-5に手を動かした内容をまとめておきます。

取り組んだこと

  • Railsで管理者機能に使われるgem ActiveAdminを触る(8/4)
  • Django Girls Tutorial 翻訳のレビュー(8/5)

ActiveAdminを触る

業務で取り組んでいるRailsは経験が少ないので、手を動かして経験値をためていこうと考えています。
以下のQiita記事を参考にActiveAdminを触ってみました。
Railsで最速で管理画面を作る!

Authorの管理まで進みました。
https://github.com/ftnext/rails_active_admin_practice
こんな簡単に管理画面作れるなんて。。1

  • 開発環境ではseeds.rbに用意されたAdminを使う
  • モデル作成時に入力する属性をpermit_paramsに指定しないと、管理画面からデータの作成ができない

ActiveAdminはGitHubのドキュメントが充実しているようなので、そちらも確認していきたいです。
activeadmin/docs at master · activeadmin/activeadmin · GitHub

Django Girls Tutorial 翻訳レビュー

ブログポストをテンプレートに渡して表示するところ(Django templates · Django Girls Tutorial)まで手を動かして確認しました。
GitHub - ftnext/my-first-blog: Repository for Django Girls Tutorial
文の訳としては適切と思っていた訳が、手を動かす中で混乱を招くと気づき、いくつか修正提案をしました。

PythonAnywhereにも慣れてきました。
Bashを立ち上げた後、以下のようにするとよさそうです。

  • 仮想環境の起動: source .virtualenvs/$USER.pythonanywhere.com/bin/activate
  • GitHubのコードのあるディレクトリへの移動: cd $USER.pythonanywhere.com2

今回手を動かした箇所は以下のとおりです。

  • Djangoのバージョンの指定の仕方が変わったようなので対応
    • Django~=2.0.6と2.0.x系の最新を指定していた3ので、upgradeしました。
    • PythonAnywhereではソースコードgit pullで最新にした後、以下のコマンドを実行
      • pip install --upgrade -r requirements.txt
      • 前提1: 仮想環境を起動している
      • 前提2: ソースコードをおいたフォルダ/home/$USER/$USER.pythonanywhere.comにいる
    • PythonAnywhereってローカルの仮想環境と同じように扱えるのでいいですね。(AzureのWebAppsは経験少ないWindows OSなので、PythonAnywhereほど自在に扱えません)
  • 静的なページを作ってデプロイ Introduction to HTML · Django Girls Tutorial f:id:nikkie-ftnext:20180805231023p:plain
  • 動的なページに変えてデプロイ(DBからポストを取得する) Django templates · Django Girls Tutorial f:id:nikkie-ftnext:20180805230945p:plain

もとの英文側の問題?

Django URLsのソースコード(mysite/urls.py)が、2.0.x系のDjangoで生成されたものとは違うようです。 https://tutorial.djangogirls.org/en/django_urls/#how-do-urls-work-in-django

from django.urls import path, include
from django.contrib import admin

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

2.0.x系で作られたmysite/urls.py4

from django.contrib import admin
from django.urls import path

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

Django urls · Django Girls Tutorialと違うのはdjango.urlsからincludeimportしていないことです。
urlpatternsのリストにpath('', include('blog.urls')),を追加するだけでなくincludeimportする必要があります

git push -u origin master5の-uの意味

気になっていたので少し調べました。
【Git】リモートにブランチを push してそのままトラックする

"git push" に "-u" あるいは "--set-upstream" を付けると、push 先のブランチをトラック (デフォルトで push や pull の対象に) するように設定されます。

なるほど。道理で初回だけgit push -u origin masterと-uをつけていて、後はgit pushだけだったんですね〜。
ProGitのサイトでもう少し詳しい説明探してみよう(宿題事項)

以上です。
そして次の1週間が始まるのです。