ヤメ記者SEの徒然なるままに…

アクセスカウンタ

zoom RSS [Python] Mezzanineのインストール&日本語化など

<<   作成日時 : 2017/08/14 16:13   >>

トラックバック 0 / コメント 0

個人的に機械学習の勉強をしてまして、その流れで、Pythonを勉強中です。

とはいえ、教科書みたいな本読みながらやってるだけでは中々上達しないよなぁ〜ということで、実践の場として新しいブログでも始めてみようかと、フレームワークを探してみました。

とりあえず、Pythonで動くWordpress風のフレームワーク「Mezzanine」が色々と評判良さそうだったので、それを使ってみようと思ったのですが、いくつかはまったのでメモ書き程度に残しておきます。


まず、参考にしたサイトがこの辺り。
http://qiita.com/itkr/items/c6c26f55a292f3e39241

インストール自体はこちらのサイトの通りに操作することで順当に出来ました。
で、外部テーマの導入についても、注意書きとして書かれている「先ほどtemplatesディレクトリを作成していた場合はデフォルトではそちらが優先されます。」という部分にさえ気をつければ、問題ありません。(templatesディレクトリを、templates.bakなどに変更してしまえばOK)

自分の 8000番ポートを使って動いている状態になっているので、nginxをリバースプロキシで動作させて、8000番ポートに転送させてやることで、外部からのhttpアクセスを正常に処理できるようになりました。


で、とりあえずこの状態で触ってみたところ、メニューの編集などは出来たのですが、なぜかブログのPostでエラーが発生して動かない。

cannot import name viewkeys

というエラーメッセージをキーに検索してみたところ
https://stackoverflow.com/questions/39658404/python-cannot-import-name-viewkeys
が同じ症状だったので、中で紹介されている通り、sixというモジュール(?)のバージョンをアップしてみたら正常に動作しました。

で、公式サイトのdemo画面が日本語化されていたので、単純に日本語に切替が出来るはず。
管理画面くらいは日本語になっていた方が分かりやすいかと思って触り始めてから、またはまりました。

Mezzanineのドキュメントを日本語化されている方がいるよう( http://mezzaninedoc-ja.readthedocs.io/ja/latest/ )なのですが言語翻訳のところがちょうど翻訳されていない…。orz
で、とりあえず、GitHubとBitbucketのリンクが張ってあったので調べてみたらやっぱり日本語のモジュールは付くあれている様子。( https://bitbucket.org/stephenmcd/mezzanine/commits/4ee8fe5795318eb50db667ccd08f87f6a3fcf832 どなたか存じませんが、Ken Sakurai様、ありがとうございます )
ということで、日本語に切り替えてみようと、プロジェクトフォルダ配下の settings.py の中身を検索。


はまった原因は、80行目過ぎ辺りにある以下の行。

# If True, the django-modeltranslation will be added to the
# INSTALLED_APPS setting.
USE_MODELTRANSLATION = False

当初、コレを使う必要があると考え、 pip install django-modeltranslation コマンドで追加のモジュールをインストールした上で値をTrueに変更していたのですが、どうも
no such column: pages_page.title_ja
というエラーが発生してしまう。
理由がよく分からなかったのですが、色々考えた結果、USE_MODELTRANSLATIONはマルチリンガル対応する際の設定内容で、各言語ごとにDB上に異なるフィールド名(title_xx)で値を保持することでその機能を実現しているのだと思われますが、単一言語で既にDBを作成してしまっていることから、この設定ではDBを作り直さないとだめっぽい、という事に気づきました。

結果的に、 USE_MODELTRANSLATION はFalseのままで、以下の2箇所を設定することで日本語で動くようになってます。

LANGUAGE_CODE = "ja" #112行目辺りの LANGUAGE_CODE = "en"からjaに

USE_I18N = True #130行目辺りのこれをfalseからtrueに


115行目辺りの
# Supported languages
の項目については、設定しなくてもいけました。
これはおそらく、多言語対応する場合に、設定しておく必要があるモノで、日本語だけで良い場合は不要なのではないかと。

多言語対応するときには他にもいくつか追加するモジュールなどもあるようですが、その辺りは今回は特に用件ではないので外しました。

コレで管理画面が日本語化されたので、ブログなどを操作できる状態。
Wordpressを意識して作られただけあって、かなり違和感なく操作はできます。

さすがにユーザーの違いでしょうか。
プラグイン機能などは管理画面上から操作できるほど洗練されては居ないようですが、それでも十分使いやすそうな感じです。

新しいブログに移すのか、または別ブログとしてここと並行して動かすのかといったところはまだ全く考えていませんが、とりあえず、シンプルで良さそうな感じなので勉強がてらしばらく使ってみようかと思います。



あ、そうだ。ここまで書いて危うく忘れるところでした。
8月3日に無事、誕生日を迎えました。
39歳になりました。
30台最後の年、まだまだ自分を伸ばすつもりで色んな事に挑戦していきたいと思っていますので、改めて、よろしくお願いいたします。



ではでは〜。

===============================気になるニュース
KDDI、IoT通信のソラコムを買収へ

「Raspberry Pi」の新ライバル「Le Potato」--「Android 7.1」や4K動画再生をサポート

Pepperが免許証から登録情報を自動読み込み!ティンバーランド軽井沢店で約2倍の新規会員登録を獲得

セカンドライフのLinden LabがVRシミュレーションのベータ版を公開

宇宙ゴミの除去衛星を開発、アストロスケールがシリーズCで約28億円を調達

初心者向け「機械学習とディープラーニングの違い」をシンプルに解説

【スペシャル対談・前編】林郁 × 伊藤穰一 2人のリーダーが考える2020年 ブロックチェーン&AI

頭で考えるだけで操作することが可能になるVRヘッドセット「Vive」向け開発キットをNeurableが発表

米軍、DJI製のドローンを「禁止」──セキュリティ上の懸念が理由

Androidの父が開発した「Essential Phone」の発売日公表がいよいよ「1週間後」に確定か?





ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
オライリージャパン
斎藤 康毅

amazon.co.jpで買う
Amazonアソシエイト by ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 の詳しい情報を見る / ウェブリブログ商品ポータル






実践Python~文字列操作からWebアプリケーション開発まで
株式会社ディー・アート
柏野 雄太

ユーザレビュー:

amazon.co.jpで買う
Amazonアソシエイト by 実践Python~文字列操作からWebアプリケーション開発まで の詳しい情報を見る / ウェブリブログ商品ポータル

テーマ

関連テーマ 一覧


月別リンク

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
[Python] Mezzanineのインストール&日本語化など ヤメ記者SEの徒然なるままに…/BIGLOBEウェブリブログ
文字サイズ:       閉じる