Python 金字塔找不到我的模板文件
我学习了金字塔教程,一切都很好。然后我为Pyramid安装了jinja2,并将必要的代码行添加到我的Python 金字塔找不到我的模板文件,python,pyramid,jinja2,pylons,Python,Pyramid,Jinja2,Pylons,我学习了金字塔教程,一切都很好。然后我为Pyramid安装了jinja2,并将必要的代码行添加到我的development.ini文件中。我的模板按预期在指定位置找到。它们也按照我的预期呈现。然而,在我的计算机上重新启动,然后使用Alembic和SQLAlchemy之后,我去查看我的站点,现在它找不到模板目录。具体来说,我得到的错误是: jinja2.exceptions.TemplateNotFound TemplateNotFound: my_project:templates/index
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
/project
/项目环境
/垃圾箱
/发展网
/lib#“python2.7/站点包/等”所在的位置
/我的计划
/我的_项目#“主”项目文件夹
/__初始值
/models.py
/剧本
/静止的
/模板
/
/views.py
两个问题:
。/python2.7/site packages/my_project-0.0-py2.7.egg/my_project/templates
时,我从我的“main”/my_project
目录中找到了我的文件的“残余”。特别是,模板
文件夹及其内容不存在,但是,视图
,模型
,初始化
等存在(尽管这些文件的任何最新更新都不存在)。当我更新“主”my_项目文件时,Pyramid无法识别这些更改。我需要进入我的“…2.7.egg”文件,并在那里进行更改,以便金字塔能够识别它们。为什么会这样李>
我的development.ini
文件是否未正确配置?或者,这是完全无关的吗
我很困惑,不知道该怎么办。非常感谢您的任何想法、建议和直截了当的回答。
感谢您的帮助。听起来您好像在某个时候运行了
python setup.py install
,这导致您的项目被安装到环境的站点包目录中。从站点软件包中删除“my_project”目录/文件并运行python setup.py develope
将创建项目到站点软件包的符号链接,您的更改应该立即生效。当模块在站点包中正确可用时,模板查找也应该起作用。或者只需添加
config.add_jinja2_search_path("templates")
在您的金字塔配置中如何尝试呈现模板?在my views.py文件中,例如:@view\u config(renderer='templates/index.jinja2',route\u name='index\u handler')。然后,我将路由添加到我的_uinit__uu.py文件中。我还尝试在uuu init_uuuuu中添加“config.include('pyramid_jinja2')”但没有效果。请尝试以下方法:@view_config(renderer='index.jinja2',route_name='index_handler')no-need'templates/“我刚刚尝试过,不幸的是,它没有工作。”。谢谢你的建议!你让我在这里过得很开心。非常感谢。我一定是无意中运行了“setup.py install”命令,或者……什么的。啊。但不管怎样,一切都恢复正常了。非常感谢。