没有名为index的模板

时间:2016-11-27 12:29:06

标签: python python-2.7 web web.py

我试图在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

1 个答案:

答案 0 :(得分:1)

根据规定,render正在查找相对于当前工作目录的templates目录,即您尝试执行该程序的位置。

修复它的几种不同方法:

  1. blogpy目录执行:

    python bin/blog.py
    

    这将在blogpy/templates

  2. 中正确查找模板目录
  3. bin目录执行,render查看../templates。这需要对代码进行少量更改,您可以在其中指定模板subdir的位置。 (这是我建议的例子)。

  4. bin目录执行,但将templates目录移动到bin目录下的 。这可能看起来很奇怪,但是如果你正在寻找一个简单的解决方案,它就没有错。

  5. 使用完全指定的路径名​​。最终,这是你应该做的,虽然这对你的例子来说太过分了。你将节省时间,例如:

    === repositories.py ===
    import os
    _dir_name = os.path.dirname(__file__) or os.getcwd()
    templates = os.path.normpath(os.path.join(_dir_name, "../templates"))
    

    无论代码如何被调用,您都能够可靠地找到所有子目录(对于静态内容,可能是加密密钥等)。