[英]Pyramid not finding my template files
我遵循了Pyramid教程,一切正常。 然后,我为Pyramid安装了jinja2,并将必要的代码行添加到了development.ini
文件中。 我的模板按预期在指定位置找到。 它们也按照我的预期进行渲染。 但是,在计算机上重新启动之后,然后使用Alembic和SQLAlchemy,我去查看了我的站点,现在找不到模板目录。 具体来说,我得到的错误是:
jinja2.exceptions.TemplateNotFound
TemplateNotFound: my_project:templates/index.jinja2;
asset=/Users/John/project/projectenv/lib/python2.7/site-packages/my_project-0.0-py2.7.egg/my_project/templates/index.jinja2;
searchpath=['/Users/John/project/projectenv/lib/python2.7/site-packages/my_project-0.0-py2.7.egg/my_project/templates']
在我的development.ini
文件中,我指定了:
[app:main]
use = egg:my_project
jinja2.directories = my_project:templates
对于某些参考,我的文件结构如下所示:
/project
/projectenv
/bin
/development.ini
/lib # where the "python2.7/site-packages/etc." is located
/my_project
/my_project # "main" project folder
/__init__.py
/models.py
/scripts
/static
/templates
/<the templates I would like to use>
/views.py
两个问题:
../python2.7/site-packages/my_project-0.0-py2.7.egg/my_project/templates
,我从“主” /my_project
目录中找到了文件的“残余”。 特别是,不存在templates
文件夹及其内容,但没有views
, models
, __init__
等(尽管不存在对这些文件的任何最新更新)。 当我对“主要” my_project文件进行更新时,Pyramid无法识别这些更改。 我需要进入我的“ ... 2.7.egg”文件,并在此处进行更改,以使Pyramid识别它们。 为什么会这样呢? 我的development.ini
文件配置不正确吗? 还是,这完全无关?
我感到困惑,不知道该怎么办。 任何想法,建议和直截了当的答案将不胜感激。
谢谢你的帮助。
听起来好像您在某个时候运行了python setup.py install
,这导致您的项目被安装到环境的site-packages目录中。 从站点程序包中删除“ my_project”目录/文件并运行python setup.py develop
创建项目到站点程序包的符号链接,您的更改应立即生效。 并且当该模块在站点包中正确可用时,模板查找也应该起作用。
或仅通过添加
config.add_jinja2_search_path("templates")
进入您的金字塔配置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.