问题标签 [klein-mvc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1292 浏览

python - 同时处理多个请求并使用 Klein Module Python 返回结果

  • 嗨,我正在Klein为我的 Web 服务器使用 Python 模块。
  • 我需要将每个请求作为一个线程单独运行,并且还需要返回结果。
  • 但克莱恩会等到单个请求完成后再处理另一个请求。
  • 我也尝试使用deferToThread扭曲模块。但它也仅在完成第一个请求后才处理请求。
  • 同样,我也尝试@inlineCallbacks了方法,它也产生了相同的结果。

注意:当没有任何东西可以返回时,此方法非常有效。但我需要返回结果。

在这里,我在下面附上了一个示例代码片段,

0 投票
1 回答
679 浏览

python - 使用 twistd 启动 python Klein 不会引发模块错误

  • 嗨,我正在尝试使用twistd方法启动 Klein 服务器。我通过阅读 Klein文档进行了尝试。
  • 但是当我尝试启动服务器时,它说找不到模块。

这是我尝试过的示例代码,

helloworld.py:

然后我运行以下命令:

我收到以下错误:

0 投票
0 回答
148 浏览

python-2.7 - python中使用Klein访问json内容的Http POST请求

我需要使用 Klein 发布字典

从克莱因进口克莱因

导入json

应用程序=克莱因()

字典=[]

@app.route('/dict',methods=['POST'])

@inlineCallbacks

定义 pg_root():

app.run("本地主机",8080)

我不认为功能 jsonify 在克莱因这里有效。请寻找替代方案。

0 投票
1 回答
97 浏览

twisted - Klein 的 Conda 包(Twisted 微型 Web 框架)

是否有包含“klein”包的 conda 频道?

http://klein.readthedocs.io/en/latest/

0 投票
1 回答
722 浏览

php - PHP klein 路由器调用特殊控制器功能

我正在用 php 实现 Klein 路由器,我有一个小问题......我想从我的控制器调用一个特殊函数,给它(或不给它) $request 变量,如下所示:

但我有错误:Uncaught InvalidArgumentException: Expected a callable。得到一个不可调用的 NULL 所以我将代码更改为:

现在的错误是这样的:语法错误,意外的“视图”(T_STRING),期望变量(T_VARIABLE)或“$” 最后我找到了一个解决方案,写我的代码是这样的:

这个正在工作,但我觉得我错过了一些东西......我想分解这个,有什么解决方案吗?谢谢

0 投票
2 回答
283 浏览

python - 如何将参数发送到我通过 Klein(Flask) 应用程序提供的 html 文件?

我正在使用 Klein 开发 REST 端点。(类似于 Python Flask)我对如何将参数传递给我想要服务的 HTML 文件感兴趣,如果这可能的话。

0 投票
1 回答
333 浏览

python-3.x - twistd -n web 不适用于 Klein 和 Python3

我正在尝试与 Klein 一起运行 twistd web 并遇到了很多问题。即使尝试从示例中运行它-得到相同的结果。 来源

然后运行它(在这个例子中,上面的文件保存为twistdPlugin.py:

$ twistd -n web --class=twistdPlugin.resource

错误: sh-3.2# twistd -n web --class=twistdPlugin.resource Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.6/bin/twistd", line 11, in <module> load_entry_point('Twisted==17.9.0', 'console_scripts', 'twistd')() File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/twisted/scripts/twistd.py", line 29, in run app.run(runApp, ServerOptions) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/twisted/application/app.py", line 657, in run config.parseOptions() File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/twisted/application/app.py", line 624, in parseOptions usage.Options.parseOptions(self, options) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/twisted/python/usage.py", line 267, in parseOptions self.subOptions.parseOptions(rest) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/twisted/python/usage.py", line 255, in parseOptions self._dispatch[optMangled](optMangled, arg) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/twisted/python/usage.py", line 411, in <lambda> fn = lambda name, value, m=method: m(value) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/twisted/web/tap.py", line 121, in opt_class classObj = reflect.namedClass(className) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/twisted/python/reflect.py", line 173, in namedObject module = namedModule('.'.join(classSplit[:-1])) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/twisted/python/reflect.py", line 159, in namedModule topLevel = __import__(name) ModuleNotFoundError: No module named 'twistdPlugin'

如何与这个?

0 投票
2 回答
128 浏览

python - Python shell 在同一虚拟环境中同一台机器的不同位置上以不同的方式工作

我有一个具有多个用户的 Linux 机器 (openSuSE) 的云实例。我已经创建了一个虚拟环境并安装了所有我需要的库(包括 Klein)。

我有两个用户“a”和“b”。在以“a”身份登录并在 virtualenv 中时,当我在主目录中打开 python shell 并键入

它正常导入。

现在,当我将目录更改为

/家/b/

并在同一个virtualenv中运行相同的(打开python shell,导入klein),它给了我一个错误。

命令“which python”在两个位置都给出了相同的地址,这是我的 virtualenv python 地址,应该是预期的。

但是是什么导致了这种奇怪的 python shell 行为。

谢谢

0 投票
1 回答
127 浏览

python - 如何在 python 中测试 Klein 服务器

我在using中进行了异步 操作。我想使用类似或类似的东西来测试我的请求。http apiPythonKleinUnittest

我找到了这个,但我不确定我能否以同样的方式远程实现它。

是否有正确和直接的方法来做类似于我发现的示例中所做的事情?

提前致谢

0 投票
0 回答
433 浏览

python-3.x - 在twisted或klein等异步Web框架中实现长轮询

一般来说,我对 REST API 和 Web 开发比较陌生。我正在寻找客户端 GET 请求的选项,以增量/流式接收数据,直到所有数据都以某些标准发送:

  • 必须是异步的(需要使用twisted/klein作为框架),这里仅以Flask作为参考。
  • 需要渲染服务器端(next.js 在这里有 socket.io 选项和react -> 这是我使用的前端),我知道它是不相关的,但是有这样的阅读材料很好,所以我可以粘合/frankensteinize组件在一起。

我的模型

从服务器(python)它必须从生成器对象中产生,对吗?让我感到困惑的是 websocket、长轮询和服务器发送事件之间的底层选项/怪癖,更不用说像高速公路、WAMP 和像 pushpin 和 crossbar.io 这样的服务的框架,我认为这对我的情况来说太过分了。

我之所以提到它们,是为了寻求最佳实践,以将它们与它们的多种实现方式一起使用(呸……)。没有足够的经验,有点不知所措。

在核心级别(http headers/protocols/curl),根据我的场景,需要在客户端和服务器上实际设置什么?长轮询听起来像解决方案吗?异步是个好主意吗?

参考阅读:

什么是长轮询、Websocket、服务器发送事件 (SSE) 和 Comet?

我对 HTTP Polling、Long Polling、HTTP Streaming 和 WebSockets 的理解

http://blog.fanout.io/2016/11/21/moving-from-polling-to-long-polling/

https://blog.al4.co.nz/2016/01/streaming-json-with-flask/

TL;DR:异步 python webserver 中长轮询实现的最佳实践。