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

标签 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']

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

最佳答案

由于搜索路径是 '..webapps/myapp/lib/python2.7/site-packages/Project-0.0-py2.7.egg/project/templates',这告诉我您使用 python setup.py install 将您的应用程序安装为 egg。到目前为止,以这种方式分发您的应用程序最常见的陷阱是,它在打包您的应用程序时需要一个 MANIFEST.in 文件,以便它包含静态 Assets 。 python setup.py develop 改为在目录外运行应用程序,并且不会遇到该问题。我希望如果您解压缩您的 egg 文件,您将不会在其中找到您的模板。

关于python - 找不到模板,在 Webfaction 上部署 Pyramid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19174463/

相关文章:

python - 有没有办法使用 selenium 阻止/关闭 iframe?

python - 如何输出多行csv?

python - Google App Engine 与 WebFaction

python 抓取提取 onclick 属性

python - url调度中找到favicon.ico的 Pyramid 路由,但同时遍历没有找到

python - 如何删除 Pyramid 调试工具栏

python - 使用 sqlalchemy 从类返回 NOT NULL 列

database - Postgres pg_dump 超时

python - Django:Postgres 连接未关闭

python - 标准化 Scipy 稀疏矩阵的有效方法