我正在尝试将我的webapp部署到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
_ 初始化 _。PY
config.include('pyramid_jinja2')
config.add_jinja2_search_path("templates")
home.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']
如果这是我的错误,请帮我设置模板的正确路径。
答案 0 :(得分:5)
由于搜索路径为'..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
将应用程序运行到目录之外,并且不会遇到该问题。我希望如果你解压缩你的鸡蛋文件,你将无法找到你的模板。
答案 1 :(得分:1)
尝试在extesion文件中添加文件MANIFEST。
recursive-include project *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.jinja2