标签: cherrypy

Python - Flask默认路由可能吗?

在Cherrypy中,可以这样做:

@cherrypy.expose
def default(self, url, *suburl, **kwarg):
    pass
Run Code Online (Sandbox Code Playgroud)

是否有相同的烧瓶?

python cherrypy flask

21
推荐指数
2
解决办法
9875
查看次数

如何使用CherryPy配置IP地址?

我正在使用python和CherryPy创建一个约2人使用的简单内部网站.我使用带有CherryPy.quickstart的内置网络服务器,并且从不搞乱配置文件.我最近更换了机器,所以我安装了最新的Python和cherrypy,当我运行该站点时,我可以从localhost:8080访问它,但不能通过IP或Windows机器名称访问它.它可能是机器配置差异或CherryPy或Python的较新版本.我有什么想法可以绑定到正确的IP地址?

编辑:为了说清楚,我目前根本没有配置文件.

python cherrypy

17
推荐指数
3
解决办法
2万
查看次数

CherryPy如何用JSON回复?

在我的controller/request-handler中,我有以下代码:


def monkey(self, **kwargs):
  cherrypy.response.headers['Content-Type'] = "application/json"
  message = {"message" : "Hello World!" }
  return message
monkey.exposed = True
Run Code Online (Sandbox Code Playgroud)

而且,在我看来,我有这个javascript:


$(function() {
  var body = document.getElementsByTagName("body")[0];
  $.ajaxSetup({ 
    scriptCharset : "utf-8",
    contentType: "application/json; charset=utf-8"
  });
  $.post("http://localhost/wsgi/raspberry/monkey", "somePostData",
    function(data) {
      try{
        var response = jQuery.parseJSON(data);
        body.innerHTML += "<span class='notify'>" + response + "</span>";
      }catch(e){ 
        body.innerHTML += "<span class='error'>" + e + "</span>";
      }
    }
  );
});

最后,这是我的问题.我没有得到JSON响应,我不知道为什么.

其次,有人能够在不使用工具的情况下,以最简单的方式解释如何将控制器/请求处理程序响应中的数据格式化为JSON响应吗?

python jquery json cherrypy

17
推荐指数
2
解决办法
2万
查看次数

如何将cherrypy用作静态文件的Web服务器?

是否可以轻松地将CherryPy用作将.html在某个文件夹中显示文件的Web服务器?所有CherryPy入门文档都声明内容是动态生成的:

import cherrypy
class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True
cherrypy.quickstart(HelloWorld())
Run Code Online (Sandbox Code Playgroud)

是否有任何简单的方法来index.html代替HelloWorld.index()方法?

python cherrypy

16
推荐指数
2
解决办法
2万
查看次数

为什么我的条件逻辑在Jinja2/CherryPy中没有按预期工作?

{% if bCat2 == True %}
    <div>True</div>
{% else %}
    <div>False</div>
Run Code Online (Sandbox Code Playgroud)

<div>False</div>即使bCat2是,也会返回True.谢谢,安德鲁

cherrypy jinja2

16
推荐指数
4
解决办法
4万
查看次数

如何强制cherrypy接受可变数量的GET参数?

例如,假设我的cherrypy索引模块设置如下

>>> import cherrypy
>>> class test:
        def index(self, var = None):
            if var:
                print var
            else:
                print "nothing"
        index.exposed = True

>>> cherrypy.quickstart(test())
Run Code Online (Sandbox Code Playgroud)

如果我发送多个GET参数,我会收到此错误

404未找到

意外的查询字符串参数:var2

回溯(最近一次调用最后一次):
文件"C:\ Python26\lib\site-packages\cherrypy_cprequest.py",第606行,在响应cherrypy.response.body = self.handler()文件"C:\ Python26\lib\site-packages\cherrypy_cpdispatch.py​​",第27行,在调用 test_callable_spec(self.callable,self.args,self.kwargs)文件"C:\ Python26\lib\site-packages\cherrypy_cpdispatch.py​​",第130行,在test_callable_spec"参数:%s"%",".join(extra_qs_params))HTTPError:(404,'意外的查询字符串参数:var2')

由CherryPy 3.1.2提供支持

python cherrypy

15
推荐指数
2
解决办法
1万
查看次数

使用CherryPy的REST WebService的友好URL

我正在使用CherryPy 3创建一个RESTful WebService但我遇到了一个问题:我希望能够回答如下请求: / customers/1/products/386意味着我想要ID为1的客户端ID为386的所有产品.

所以我尝试使用CherryPy的MethodDispatcher这样做:

class UserController(object):
    exposed = True

    def __init__(self):
        self.product = ProductController()

    @log_io
    def GET(self, *args):
        return "GET Users :" + str(args)


class ProductController(object):
    exposed = True
    @log_io
    def GET(self, *args):
        return "GET Product :" + str(args)
Run Code Online (Sandbox Code Playgroud)

但是,当我请求/ customers/1/products/386时,不是使用正确的参数将我重定向到ProductController.GET,而是使用参数1,"products",386将我重定向到UserController.GET.

要重定向到ProductController.GET我必须查询/ customers/products/386这是不正确的,因为我错过了用户ID参数.

我在这个演示文稿中看到过:使用CherryPy的RESTful Web应用程序,我想要使​​用的路径样式似乎是一个不错的选择.但有没有一种简单的方法来实现Cherry Py?

我听说过CherryPy 3的_cp_dispatch方法,但我没有得到它究竟是什么以及如何使用它.它是否取代了MethodDispatcher?

python rest web-services cherrypy

15
推荐指数
2
解决办法
8367
查看次数

CherryPy和RESTful web api

在CherryPy中创建RESTful Web API的最佳方法是什么?我一直在寻找几天,似乎没什么好看的.对于Django来说,似乎有很多工具可以做到这一点,但不是CherryPy或我不知道它们.

稍后编辑:我应该如何使用Cherrypy将/ getOrders?account = X&type = Y等请求转换为/ orders/account/type之类的内容?

python rest cherrypy

13
推荐指数
3
解决办法
2万
查看次数

SQLAlchemy声明性模型的数据验证

我在Web应用程序中使用CherryPy,Mako模板和SQLAlchemy.我来自Ruby on Rails背景,我正在尝试为我的模型设置一些数据验证.我无法找出确保"名称"字段在某个其他字段具有值时具有值的最佳方法.我尝试使用SAValidation,但它允许我创建新行,其中所需列为空,即使我validates_presence_of在列上使用.我一直在看WTForms,但这似乎涉及很多重复的代码 - 我已经用表中的列设置了我的模型类,为什么我需要再次重复所有这些列只是为了说"嘿这个一个人需要一个价值"?我是从"现身瘦控制器,脂肪模型 "的心态,一直在寻找在我的模型像Rails的类似的方法validates_presence_ofvalidates_length_of.我应该如何验证模型收到的数据,并在验证失败时确保Session.add/ Session.merge失败?

python validation model sqlalchemy cherrypy

13
推荐指数
2
解决办法
1万
查看次数

如何获得CherryPy版本

我对CherryPy很新.我想知道我的机器中安装了哪个CherryPy版本.如何在终端获得CherryPy版本?

谢谢你教育我.

python terminal ubuntu cherrypy

13
推荐指数
1
解决办法
6226
查看次数