Pythonanywhere 'staticfiles' 不是有效的标记库:找不到模板库静态文件
Posted
技术标签:
【中文标题】Pythonanywhere \'staticfiles\' 不是有效的标记库:找不到模板库静态文件【英文标题】:Pythonanywhere 'staticfiles' is not a valid tag library: Template library staticfiles not foundPythonanywhere 'staticfiles' 不是有效的标记库:找不到模板库静态文件 【发布时间】:2015-01-28 09:37:15 【问题描述】:在 pythonanywhere 中,我将 virtualenv 与 Django 1.7 和 Python 2.7 一起使用
Settings.py
STATIC_ROOT = '/home/movies/pantherlist/movies/static/'
STATIC_URL = '/static/'
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'pantherlist.movies',
)
wsgi.py
activate_this = '/home/movies/.virtualenvs/django17/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
.
.#path setup already done here
.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
我遇到错误
异常类型:TemplateSyntaxError 异常值: 'staticfiles' 不是有效的标签库:找不到模板库静态文件,尝试过 django.templatetags.staticfiles,django.contrib.admin.templatetags.staticfiles
异常位置:/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py in load,第 1054 行
错误在 index.html
% load staticfiles %
请帮忙。提前致谢。
【问题讨论】:
【参考方案1】:自从将 virtualenv 激活添加到 wsgi 文件后,您似乎没有重新加载您的 Web 应用程序,或者您没有使用您认为正在使用的 wsgi 文件。 Django 报告的错误位置 (/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py) 在 PythonAnywhere 上的默认系统 Django 中,而不是 virtualenv 中的 Django。
【讨论】:
你是对的。我已经解决了。我在我的项目文件夹中创建了一个 wsgi 文件并正在更改它。那是一个错误。我应该直接更改“web”选项卡中的 pythonanywhere wsgi 文件。【参考方案2】:试试:
% load static from staticfiles %
现在你可以这样使用它了:
% static "images/hi.jpg" as myphoto %
<img src=" myphoto " />
这个例子来自 django doc for 1.7 version/
【讨论】:
以上是关于Pythonanywhere 'staticfiles' 不是有效的标记库:找不到模板库静态文件的主要内容,如果未能解决你的问题,请参考以下文章
文件也在 pythonanywhere 服务器和用户笔记本电脑/PC 上下载。如何限制在 pythonanywhere 服务器上写入
可以从 PythonAnywhere 提供 IPython Notebook
PythonAnywhere 上的 JSONDecodeError