问题标签 [sanic]
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.
python-3.x - 如何在 Sanic 中获取推荐网站 url
我正在尝试从 Sanic 中的传入请求中获取推荐网站 URL/服务器名称(而不是 IP 地址)。但是,到目前为止,我已经设法从请求标头中获取连接的 IP 和端口。Sanic 中是否有任何 python 包或内置功能?
python - 如何将 argparse 参数传递给 sanic 路由?
我希望将 argparse 参数传递给带有装饰器的函数。这里的策略是什么?没有全局变量如何实现这一点?
我也尝试使用视图HTTPMethodView
但没有成功
javascript - Sanic websockets 定期记录“事件”,但“event.data”只记录一次——为什么?
我之前问过这个关于 sanic 中的 websockets 的问题。这是一个跟进。
下面建立一个 websocket 连接,并console.log()
准确地发送一次“数据”消息:
在服务器端,“消息”是printed
周期性的。但在客户端,这console.logged
只是一次。
服务器:
客户:
我不清楚为什么它只打印一次,而不是像服务器端那样每秒打印一次。
但是,这里有两个条件 /do/ 使它每秒打印一次。
首先,console.log(event)
,然后console.log(event.data)
定期正确记录。
这会在客户端打印:
其次,我可以将javascript保持原样,
但使用以下消息,每次都会更改:
在服务器端打印:
这在客户端:
所以,这两个看似不相关的事情把我的 websocket 没有登录到客户端,并让它这样做。为什么会这样?
javascript - 与 sanic websockets 进行双向通信,无需永远等待
我问了这些 关于sanic 中的 websockets 的问题。这是一个跟进。
下面让我向我的 websocket 客户端广播消息:
我可以确认服务器既定期向客户端传递消息,又能够接收某种返回的消息。
在服务器上:
在客户端:
但是,由于以下几个原因,这对我来说没有意义:
- 当我提交表单时,我实际上看不到提交的内容,只是有一个 GET 请求。
- 我看到一个 GET 请求,但我的表单明确表示 POST。
event.preventDefault()
已使用,我仍然在表单提交中看到完整的页面刷新。
但更重要的是,我真正想要的是双向通信。所以,除了 just 之外ws.send(data)
,我还要new = await ws.recv()
在方法中捕获输入。
但现在,我不再连续向客户端发送数据。ws.recv()
相反,即使客户端没有发送任何内容,进程也会挂起,等待我。
message
在我再次提交表单之前不再发送。
如何进行双向通信,将数据传回/feed
端点,但无需等待即可连续进行?
python-3.x - sanic 如何进行依赖注入?
在我的app.py
我有以下代码:
如何将其my_dep
注入我的 sanic 应用程序实例?使用上面的当前设置,我无法完全测试我的代码,因为我的路由依赖于模块中加载的全局依赖项。
换句话说:我如何重组这个简单的应用程序,使其易于测试?
python-3.x - Sanic 如何为测试应用加载配置?
我希望我的测试服务器有一个虚拟配置变量
我有以下夹具:
和一个测试
我收到以下错误:
AttributeError:“SanicTestClient”对象没有属性“config”
我该如何解决?
python - “AsyncIOMotorLatentCommandCursor”对象不可下标
我正在使用motorclient,并且我有以下查询,我想在其中获得某个用户的平均评分。
然后当我试图提取平均值时
print('avg rating', res['avg_rating'])
这会引发错误TypeError: 'AsyncIOMotorLatentCommandCursor' object is not subscriptable
我已经用谷歌搜索了很多,但我没有找到如何使用motor
.
python-3.x - Uvicorn 没有运行 sanic “before_server_start”
我有一个像这样的 sanic 应用程序:
当我运行 uvicorn myapp 时,它可以很好地服务于主页:我看到了预期的 json。
但是当我打的时候/all
,它说
“应用程序没有属性 es_client”
,这可能表明该before_server_start
函数尚未运行。
我该如何解决?我已经查看了 sanic doc,但我找不到任何关于这个问题的参考资料
(当我按原样运行应用程序时它工作正常 - 即,python3 myapp.py
)
python-3.x - 如何使用 Sanic 提供上传的图片?
我已经使用 Sanic 在我的项目的某个目录中成功上传了图像。我用来上传图片的代码如下:
在这个过程中,我保存了upload_file.name
一个user
字段。现在要提供上传的图片,我已经访问了以下网址(就像我在本地服务器中一样)http://localhost:8000/10414532_479247615552487_2110029531698825823_n.jpg
但它没有显示图像而是显示,
如何提供上传的图片?
python - Sanic 端点中带有可选斜杠的正则表达式
我想用 Sanic ( https://github.com/huge-success/sanic ) 做一个 API REST 并且我坚持使用正则表达式。
我有这个端点:api/foo/<string_with_or_without_slashes>/bar/<string>/baz
我的python代码是:
如果我做:
或$ curl -i http://localhost:8000/api/foo/a/a/bar/bb/baz
。
test1
当我想调用test2
函数时,它总是被调用。
你能帮助我吗?非常感谢!:)