【发布时间】:2014-05-23 15:31:38
【问题描述】:
我有 pserve --reload 可以处理任何 python 更改,但是当我更改模板时我仍然需要手动重新加载。
我制作了这个小脚本来监视我的模板文件夹是否有任何更改,但是重新加载 pserve 的命令是什么?如果我需要从我的 Pyramids 项目中调用 pserve 方法,例如在 init.py 或其他什么中,我会调用什么方法来重新加载 pserve?
#!/usr/bin/env python
import sys
import pyinotify
from subprocess import call
import time
wm = pyinotify.WatchManager()
mask = pyinotify.IN_DELETE | pyinotify.IN_CREATE | pyinotify.IN_MODIFY
class EventHandler(pyinotify.ProcessEvent):
def process_IN_MODIFY(self, event):
print "Modified: ", event.pathname
# This is where my reload call would go...
# call(["pserve", "reload"])
handler = EventHandler()
notifier = pyinotify.Notifier(wm, handler)
wdd = wm.add_watch("/path/to/my/pyramid/templates/", mask, rec=True, auto_add=True)
notifier.loop()
【问题讨论】:
-
添加代码,展示如何将 jinja2 金字塔环境设置到金字塔配置器对象(your_project.__init__.py 和示例 *.ini PasteDeploy 文件)