找不到模板,在Webfaction上部署Pyramid

时间:2013-10-04 06:10:03

标签: python pyramid webfaction

我正在尝试将我的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']

如果这是我的错误,请帮我设置模板的正确路径。

2 个答案:

答案 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