我试图在web.py上运行一个简单的博客,它启动很好(python bin / blog.py)但是当我进入网站时它说它找不到模板。我非常确定路径是正确的,我之前做了一个简单的待办事项列表并且工作正常。怎么了?
这是我的项目文件夹:
mask = np.logical_or(main == repl[0], main == repl[1])
main[mask] = -1
这里是blog.py的代码,它位于bin中(模板位于模板中):
lRow = Cells.Find(What:="*", _
After:=Range("A1"), _
LookAt:=xlPart, _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
答案 0 :(得分:1)
根据规定,render
正在查找相对于当前工作目录的templates
目录,即您尝试执行该程序的位置。
修复它的几种不同方法:
从blogpy
目录执行:
python bin/blog.py
这将在blogpy/templates
。
从bin
目录执行,render
查看../templates
。这需要对代码进行少量更改,您可以在其中指定模板subdir的位置。 (这是我建议的例子)。
从bin
目录执行,但将templates
目录移动到bin目录下的 。这可能看起来很奇怪,但是如果你正在寻找一个简单的解决方案,它就没有错。
使用完全指定的路径名。最终,这是你应该做的,虽然这对你的例子来说太过分了。你将节省时间,例如:
=== repositories.py ===
import os
_dir_name = os.path.dirname(__file__) or os.getcwd()
templates = os.path.normpath(os.path.join(_dir_name, "../templates"))
无论代码如何被调用,您都能够可靠地找到所有子目录(对于静态内容,可能是加密密钥等)。