主塔。从CLI调用控制器功能

时间:2012-01-27 07:37:56

标签: python pylons command-line-interface

与Pylons中的命令行一样,从控制器调用REST函数,例如update?如何传递request.POST来更新函数?

2 个答案:

答案 0 :(得分:1)

最简单的方法是直接发出HTTP POST请求:

$ curl -d 'arg1=value&arg2=another' http://host/path/controller/responds/to/

答案 1 :(得分:1)

你需要使用贴纸的post命令。下面,我发帖到/登录/尝试我写过的本地应用程序。

$ paster post development.ini /login/attempt email_address=me password=invalid

## It returns this JSON
{"status": "fail", "value": "me is not a registered email address."}

以下是paster post的文档 -

  

用法:C:\ cygwin \ home \ jaime \ virtualenv \ sstesting \ Scripts \ paster-script.py post [options] CONFIG   _FILE URL [OPTIONS / ARGUMENTS]   运行描述的应用程序的请求

     

此命令对使用的Web应用程序发出人工请求   服务器和应用程序的paste.deploy配置文件。使用   'paster request config.ini / url'来请求/ url。使用'贴纸贴   config.ini / url< data'用给定的请求体进行POST。如果   URL是相对的(不以/开头),它被解释为   相对于/.command/。变量environ ['paste.command_request']   将在请求中设置为True,因此您的应用程序可以   区分这些呼叫与正常请求。请注意,您可以通过   除此处列出的选项外的选项;任何未知的选择都将是   传递给environ ['QUERY_STRING']中的应用程序。

     

选项:-h, - help显示此帮助消息并退出-v,   --verbose -q, - quiet -n NAME, - app-name = NAME                           加载指定的应用程序(默认主要)--config-var = NAME:VALUE                           变量在%()s的配置中可用                           替换(您可以多次使用此选项)--header = NAME:VALUE要添加到请求的标题(您可以使用   这个选项                           多次) - display-headers在响应主体之前显示标题

相关问题