刚开始使用 Heroku,我在学习 Python 教程时已经遇到了障碍。每一步都非常简单,直到 provisioning a database.执行后heroku run python manage.py migrate
添加/db
后应该可以看到数据库了到 URL 的末尾,但我被发送到一个错误页面,如下所示:
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
Request Method: GET
Request URL: https://morning-oasis-00207.herokuapp.com/db/
Django Version: 3.0
Exception Type: TemplateSyntaxError
Exception Value:
'staticfiles' is not a registered tag library. Must be one of:
admin_list
admin_modify
admin_urls
cache
i18n
l10n
log
static
tz
Exception Location: /app/.heroku/python/lib/python3.7/site-packages/django/template/defaulttags.py in find_library, line 1025
Python Executable: /app/.heroku/python/bin/python
Python Version: 3.7.3
Python Path:
['/app/.heroku/python/bin',
'/app',
'/app/.heroku/python/lib/python37.zip',
'/app/.heroku/python/lib/python3.7',
'/app/.heroku/python/lib/python3.7/lib-dynload',
'/app/.heroku/python/lib/python3.7/site-packages']
Server time: Wed, 11 Dec 2019 23:17:58 +0000
我真的一个接一个地完全按照这些步骤操作,所以我在这里有点不知所措。我会跳过这个,但我需要为我将要从事的项目使用数据库,我想知道将来如何避免这种情况。我在这里查看了其他几个类似的讨论,但没有看到任何特定于本教程的内容。任何帮助,将不胜感激。
最佳答案
这里也有同样的问题。似乎静态文件模板标签库是 updated recently在 Django 3.0.0(其中不推荐使用静态文件)中,Heroku 可能没有更新教程文件。
转到您的本地应用程序目录(从 cd python-getting-started
创建)并找到 settings.py(python-getting-started\gettingstarted\settings.py)。滚动到底部并更改 STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
至 STATIC_ROOT = os.path.join(BASE_DIR, 'static')
.
转到 python-getting-started\hello\templates\db.html
中找到的模板数据库 html 文件并更改 {% load staticfiles %}
至 {% load static %}
转到根文件夹并从 staticfiles
重命名静态文件文件夹至 static
希望这可以帮助。确保update your changes .
关于python - 遵循 Heroku Python 教程时的 TemplateSyntaxError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59295714/