問題タブ [coffin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1497 参照

django - Jinja の拡張機能からコンテキスト変数にアクセスするには?

coffin 経由で django+jinja2 を使用していますが、拡張機能のコンテキスト変数にアクセスする方法がわかりません。たとえば、私はこれを持っています:

したがって、メソッドaで変数を取得する必要があります。renderどうすればいいですか?

0 投票する
0 に答える
655 参照

python - coffin 拡張機能を備えた Babel と jinja2

コマンドラインツールを使用して、jinja2/coffin テンプレートを Babel で翻訳しようとしています。問題は、関数 babel_extract が {% url %} や {% csrf_token %} などの棺桶タグでジャムすることです。

まず、問題を検出するために、jinja.ext.babel_extract を変更し、レンダリング中の例外に「print e」を追加しました。

Babel で抽出メソッドを実行すると、次のエラーが出力されます。

次に、babel 構成を編集して Coffin ライブラリを追加しました。また、環境変数を設定して、django プロジェクトを Python パスに追加し、django 設定モジュールを settings.py に設定しました。

ここで、extract メソッドを実行すると、次のエラーが発生します。

extracting messages from templates/brands.html (extensions="coffin.template.Library", encoding="utf-8") Traceback (most recent call last): File "/usr/local/bin/pybabel", line 9, in <module> load_entry_point('Babel==0.9.6', 'console_scripts', 'pybabel')() File "/Library/Python/2.7/site-packages/Babel-0.9.6-py2.7.egg/babel/messages/frontend.py", line 1107, in main return CommandLineInterface().run(sys.argv) File "/Library/Python/2.7/site-packages/Babel-0.9.6-py2.7.egg/babel/messages/frontend.py", line 651, in run return getattr(self, cmdname)(args[1:]) File "/Library/Python/2.7/site-packages/Babel-0.9.6-py2.7.egg/babel/messages/frontend.py", line 912, in extract for filename, lineno, message, comments in extracted: File "/Library/Python/2.7/site-packages/Babel-0.9.6-py2.7.egg/babel/messages/extract.py", line 171, in extract_from_dir strip_comment_tags): File "/Library/Python/2.7/site-packages/Babel-0.9.6-py2.7.egg/babel/messages/extract.py", line 201, in extract_from_file strip_comment_tags)) File "/Library/Python/2.7/site-packages/Babel-0.9.6-py2.7.egg/babel/messages/extract.py", line 275, in extract for lineno, funcname, messages, comments in results: File "/Library/Python/2.7/site-packages/jinja2/ext.py", line 588, in babel_extract auto_reload=False File "/Library/Python/2.7/site-packages/jinja2/environment.py", line 279, in __init__ self.extensions = load_extensions(self, extensions) File "/Library/Python/2.7/site-packages/jinja2/environment.py", line 76, in load_extensions result[extension.identifier] = extension(environment) TypeError: __init__() takes exactly 1 argument (2 given)