0
私の最近のプロジェクトでは、moment.jsの代わりにflask-momentを選択しました。ただし、それは表示され続けるUndefinedError: 'moment' is undefined
。私は私のbase.jinja2
ファイルの末尾に{{ moment.include_moment() }}
を追加すると、それがロードされた成功だフラスコモーメントでモーメントが定義されていません
from config import config
from exts import babel, db, login_manager, mail, moment
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
...
moment.init_app(app)
return app
:
は、私はこのようなファクトリパターンを使用しました。私はこのコードの一部が含まれcomponents.jinja2
書いた:
{% macro render_file_thumbnail(file) %}
<div class="">
<hr>
<div class="media">
<div class="media-left">
<a href="{{ url_for('people.profile', user_id=file.uploader.id) }}">
<img class="media-object file-th-avatar img-rounded" src="{{ file.uploader.avatar }}" alt="{{ file.uploader.nickname }}">
</a>
</div>
<div class="media-body">
<h6 class="file-th-header">
<a href="{{ url_for('file.file_display', page_number=1, file_id=file.id) }}">
{{ file.file_name }}
</a>
</h6>
<p>
<span class="text-muted fa fa-fw fa-institution"></span>
<a href="{{ url_for('course.course', course_id=file.course.id, page_number=1) }}">
{{ file.course.course_name }}
</a>
<span class="text-muted fa fa-fw fa-pencil"></span>
{{ file.author }}
<span class="text-muted fa fa-fw fa-download"></span>
{{ file.downloaded_times}} {{ _('time(s)') }}
<span class="text-muted fa fa-fw fa-clock-o"></span>
{{ moment(file.uploaded_time).fromNow(refresh=True) }}
</p>
</div>
</div>
</div>
{% endmacro %}
私はテンプレートをレンダリングするために、それをインポートして、エラーが出てきます。
ただし、マルコの代わりに{% include %}
を使用すると、問題は解決します。だから私はマルコを使い続け、同時に問題を解決できますか?
ありがとうございます!
を参照してください
コンテキストでマクロをインポートすることでこの問題を解決することができます。ありがとう! –