我正在尝试将我的 web 应用程序部署到 Webfaction,基本示例工作正常,我在使用 Jinja2 扩展基本模板的模板中得到了 TemplateNotFound。这是我的项目树:
/webapps
/myapp
development.ini
production.ini
/bin
/theapp
/Project
setup.py
/project
__init__.py
views.py
/templates
base.jinja2
home.jinja2
/static
_init_.py
config.include('pyramid_jinja2')
config.add_jinja2_search_path("templates")
主页.jinja2
{% extends "templates/base.jinja2" %}
更清楚地说,该项目在本地工作我知道它与模板路径有关,我不确定如何设置它,我尝试了很多不同的方法,无论如何这是回溯:
File "..webapps/myapp/myapp/Project/project/templates/home.jinja2", line 1, in top-level template code
{% extends "templates/base.jinja2" %}
File "..webapps/myapp/lib/python2.7/site-packages/pyramid_jinja2-1.8-py2.7.egg/pyramid_jinja2/__init__.py", line 193, in get_source
raise TemplateNotFound(name=ex.name, message=message)
TemplateNotFound: templates/base.jinja2; asset=..webapps/myapp/lib/python2.7/site-packages/Project-0.0-py2.7.egg/project/templates/base.jinja2; searchpath=['..webapps/myapp/lib/python2.7/site-packages/Project-0.0-py2.7.egg/project/templates']
如果这是我的错误,请帮助我设置模板的正确路径。
由于搜索路径是'..webapps/myapp/lib/python2.7/site-packages/Project-0.0-py2.7.egg/project/templates'
,这告诉我您使用以下命令将应用程序安装为鸡蛋python setup.py install
。到目前为止,以这种方式分发应用程序的最常见陷阱是,在打包应用程序时需要 MANIFEST.in 文件才能包含静态资产。python setup.py develop
相反,从目录中运行应用程序,并且不会遇到该问题。我希望如果您解压您的 Egg 文件,您将不会在里面找到您的模板。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)