質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1946閲覧

Django 国際化がうまくいかない

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/02/10 10:12

Djangoで作ったWEBサイトを国際化対応しようと考え、
下記サイトを参考にやってみました。
OSは、Windows10です。
https://torina.top/detail/326/

・settings.pyにおいて、Middlewareclassesにdjango.middleware.locale.LocaleMiddleware'を加える
・LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
を加える
・ディレクトリを作成する
といったことをした後、

コマンドライン上で、
django-admin.py makemessages -l en
を実行しました。
すると、なぜかAtomが起動し、下記の表示が出ていました。(コマンドライン上では何も表示されません。)

python

1# django-admin.py 2#!C:\Users\myname\Anaconda3\python.exe 3from django.core import management 4 5if __name__ == "__main__": 6 management.execute_from_command_line()

そして、このAtomを消すと、コマンドライン上で、
Attempting to call a function in a renderer window that has been closed or released.
Function provided here:Object.<anonymous>(C:Atomの場所)
Remote event names: destroyed, crashed

というエラーが出ました。

念のため、先程のサイトにあるように、
gettext-runtime_0.18.1.1-2_win64.zip
gettext-tools-dev_0.18.1.1-2_win64.zip
をダウンロードし、ダウンロード先にPathを通しました。

しかし、結果は良くなりません。
どこに問題があるかお分かりの方、ご教示頂ければ幸いです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Django の問題というよりも、 *.py ファイルを Atom で編集するようにデフォルトの関連付けが設定されているため、直接 django-admin.py をコマンドに指定した場合に Python が実行されていないように見受けられます。
django-admin.py makemessages -l en の代わりに、プロジェクトのルートディレクトリで C:\Users\myname\Anaconda3\python.exe manage.py makemessages -l en 等としてみては如何でしょうか。

  • *.py ではなく、 python.exe を直接実行対象バイナリとして指定する
  • django-admin.py の場所を指定するのは面倒なので、プロジェクトローカルに生成される manage.py をスクリプトとして指定する

尚、 *.py への関連付けを python.exe に戻しても問題は解決するとは思いますが、その場合は *.py をダブルクリックした際に Atom で編集は出来なくなるので、どちらが良いかはお好みでお選び下さい。

投稿2018/03/08 09:22

argparse

総合スコア1017

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/08 23:32

ご回答頂きありがとうございました。 ご指摘頂いたとおり、.pyファイルの関連付けが問題でした。 python manage.py makemessages -l en のコマンドで、代替することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問