Python瓶子框架错误500:can';无法在守护进程模式下找到模板

Python瓶子框架错误500:can';无法在守护进程模式下找到模板,python,wsgi,bottle,Python,Wsgi,Bottle,我目前正在使用Python开发一个简单的Web应用程序。以下是我的应用程序结构: 结构 lib - bottle.py - bottledaemon.py - lockfile.py - __init__.py view - dashboard.tpl run.py 这是我的run.py代码: #!/usr/bin/env python from lib.bottle import route, template, run, debug, request

我目前正在使用Python开发一个简单的Web应用程序。以下是我的应用程序结构:

结构

lib
    - bottle.py
    - bottledaemon.py
    - lockfile.py
    - __init__.py
view
    - dashboard.tpl
run.py
这是我的run.py代码:

#!/usr/bin/env python
from lib.bottle import route, template, run, debug, request, static_file
from lib.bottledaemon import daemon_run

debug(mode=True)

@route('/')
def show_index():

    return template('dashboard')

# If the following line is enabled, the server will start in non-Daemon mode.
#run(host='0.0.0.0', port=80, debug=True)

# If the following lines are enabled, the server will start in Daemon mode.
if __name__ == "__main__":
  daemon_run()
因此,我希望WSGI服务器通过将其传递给服务器来在守护进程中运行

问题

在非后台运行代码时,它可以工作。它向我显示了正确的模板,在CLI中我可以看到HTTP请求

但是,当我在守护模式下运行相同的代码时,它确实作为守护进程启动,因此工作正常,但它再也找不到模板了。它向我显示了以下错误消息:

错误:500内部服务器错误

抱歉,请求的URL“这是我的网站URL”导致错误:

找不到模板“Template”

因此,当我以守护模式启动Web服务器时,似乎再也找不到.tpl文件的文件路径了。我已经尝试了很多东西,但是我想不出答案,我想保持路径的动态性。有什么建议吗


谢谢

这可能是一个路径问题,我可以重新创建它,并通过手动将视图文件夹的路径添加到模板路径列表来修复它

from bottle import route, template, run, debug, request, static_file, TEMPLATE_PATH
from bottledaemon import daemon_run

import os

TEMPLATE_PATH.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "view")))

# rest of script
编辑:


追溯到问题的根源,这肯定是一个路径问题
battledaemon
导入
daemon
并运行
DaemonContext
,默认情况下将工作目录更改为
'/'
,并且
battledaemon
不会像它应该的那样覆盖它。因此,当瓶子寻找
视图
文件夹的一个relative路径时,它实际上是在系统根目录上寻找“/view”

回溯(最近一次调用):文件“run.py”,第6行,在模板_PATH.insert(0,os.PATH.abspath(os.PATH.join(os.PATH.dirname(_File_),“view”))中)name错误:名称“TEMPLATE_PATH”未定义查看顶行,您需要将其添加到导入列表谢谢mate!现在守护进程再次启动。仍然是同样的500个错误。我必须在您提供的代码中插入某个静态路径吗?不应该这样做,奇怪的是,您提供的错误表明它正在查找
'Template'Template'
,而您指定的是
仪表板
。我建议将
dashboard.tpl
重命名为
template.tpl
,看看现在是否显示它。谢谢你这么多修改它!!我被困在这上面好几个小时了