今、HerokuとDjangoに初挑戦中です。
公式チュートリアル"Getting Started on Heroku with Python"の
"Provision a database"の途中で躓いています。
まず、手順にある通り、ブラウザ(Chrome)で以下のURLを開きました(xxxは伏字):
https://xxxx-xxxxx-12345.herokuapp.com/db/
すると、以下のエラーが表示されました:
TemplateSyntaxError at /db/
'staticfiles' is not a registered tag library. Must be one of:
admin_list
admin_modify
admin_urls
cache
i18n
l10n
log
static
tz
'staticfiles'が見つからない、みたいな話ですね。
ググると、db.htmlの中の'staticfiles'を'static'に変更すれば直るようです(参考URL)。
なので、私のPC上の
C:\Users\xxxxx\python-getting-started\hello\templates
の下のdb.htmlの'staticfiles'を'static'に変更しました。内容は以下の通りです:
db.html:
HTML
1{% extends "base.html" %} 2{% load static %} 3 4{% block content %} 5 <div class="container"> 6 7<h2>Page View Report</h2> 8 9 10<ul> 11 12{% for greeting in greetings %} 13 <li>{{ greeting.when }}</li> 14{% endfor %} 15 16</ul> 17 18</div> 19 20{% endblock %} 21
変更したのですが、やはりまだブラウザで同じエラーが出ます。
で、よく見ると、エラーの下の方にdb.htmlの内容が表示されていて、その中ではまだ{% load staticfiles %}がstaticに変更されていないようです。しかも、そのdb.html全体の内容が私の(というか、公式チュートリアルのgithubからコピーしてきた)db.htmlとは違うことに気付きました。それが以下です:
HTML
1In template /app/hello/templates/db.html, error at line 2 2 3'staticfiles' is not a registered tag library. 4Must be one of: admin_list admin_modify admin_urls cache i18n l10n log static tz 5 61 {% extends "base.html" %} 72 {% load staticfiles %} 83 94 {% block content %} 105 <div class="container"> 116 127 138 <h2>Page View Report</h2> 149 1510 1611 <ul> 17
この/app/hello/templates/db.htmlはどこに置いてあるのでしょうか? いろいろ検索したのですが、見つかりません。 私のPC上にありますか? それともhttps://xxxx-xxxxx-12345.herokuapp.com/の下にありますか? と言っても、HerokuとDjangoの仕組みがまだよく分からないので、 https://xxxx-xxxxx-12345.herokuapp.com/がどこに置いてあるのかも分かりません。 Windows10上のAppDataの下も探しましたが、そんなファイルやフォルダはありません。 どうしたら、この/app/hello/templates/db.htmlの'staticfiles'を'static'に変更できますか? 以上です。 必要であれば補足します。 どうか教えて下さい。お願いします。
あなたの回答
tips
プレビュー