如何使用livereload使web.py工作

时间:2016-11-30 13:13:12

标签: python web.py

我正在使用web.py作为应用程序,我想在开发过程中使用livereload,但我无法弄清楚如何使两者相处?

app.py

import web
from livereload import Server

urls = (
    '/', 'index'
)

class index:
    def GET(self):
        return "Hello, Kitty"

if __name__ == '__main__':
    app = web.application(urls, globals()).wsgifunc()
    server = Server(app)
    server.serve()

我正在关注https://github.com/lepture/python-livereload

  

server = Server(app.wsgi_app)

     

server.serve()

在我的终端

我输入

livereload app.py

我看到了

  

[I 161130 14:05:03服务器:283]在http://127.0.0.1:35729上服务

     

[I 161130 14:05:03处理程序:60]开始观看更改

     

[I 161130 14:05:03处理程序:62]开始检测更改

但在加载http://127.0.0.1:35729时在浏览器中我看到了这个

import web
from livereload import Server

urls = (
    '/', 'index'
)

class index:
    def GET(self):
        return "Hello, Pussy"

if __name__ == '__main__':
    app = web.application(urls, globals()).wsgifunc()
    server = Server(app)
    server.serve()

我看到python脚本呈现为普通tex。

更新 我决定再试一次,然后成功,对我有好处。)

from livereload import Server

import web

from nestpas.views import *
from nestpas.urls import *
import sys

logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)

# web.config.debug = False
web.ctx.debug = False

app = web.application(urls, globals(), autoreload=False)
webapp = app.wsgifunc()

if __name__ == '__main__':
    ## app.run()
    server = Server(webapp)
    server.watch('static/', 'templates/', 'nestpas/')
    server.serve(port=8080, host='localhost')

我正在使用的文件存储在静态,模板和nestpas中,这是存储Python模块的地方。我遇到了将会话存储在磁盘上的一些问题,但我设法通过使用DBStore来改变它

from livereload import Server

import web

from nestpas.views import *
from nestpas.urls import *
import sys

logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)

# web.config.debug = False
web.ctx.debug = False

app = web.application(urls, globals(), autoreload=False)
webapp = app.wsgifunc()

# Setup session storage
db = web.database(dbn='sqlite', db='dev.db')
store = web.session.DBStore(db, 'sessions')
session = web.session.Session(app, store)

if __name__ == '__main__':
    ## app.run()
    server = Server(webapp)
    server.watch('static/', 'templates/', 'nestpas/')
    server.serve(port=8080, host='localhost')

下一个目标是弄清楚如何在localhost上使用Livereload,而不必在部署到生产时考虑它。

0 个答案:

没有答案