小编Ant*_*Oca的帖子

python解释器捕获bash中无法识别的命令

每当我尝试$ a在控制台(/ bin/bash)中调用不存在的命令(例如)时,解释器就会等待很长时间.当我中断它(^ C)时,我从Python解释器收到一条错误消息.而不是那样,我希望它告诉我该命令未被识别.为什么会这样?

$ a
^C
Traceback (most recent call last):
  File "/usr/lib/python2.7/encodings/__init__.py", line 32, in <module>
root@dell:/home/antonio/workspace/biz_index#     from encodings import aliases
  File "/usr/lib/python2.7/encodings/aliases.py", line 17, in <module>
    """
KeyboardInterrupt
^C
Run Code Online (Sandbox Code Playgroud)

python bash

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

我如何在 Django-Channels 中嵌套 URLRouter

我尝试在django-channels的路由中使用django.urls.pathdjango.urls.include构建 URL 。

前任:

from django.urls import path, include

from .browser import routing as browser_routing


websocket_urlpatterns = [
    path('ws/v2/', include([
        path('browser/', browser_routing.urls),
    ])),
]
Run Code Online (Sandbox Code Playgroud)
from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
from my_channels import routing

application = ProtocolTypeRouter({
    'websocket': AuthMiddlewareStack(
        URLRouter(
            routing.websocket_urlpatterns,
        ),
    ),
})

Run Code Online (Sandbox Code Playgroud)

但我得到:

django.core.exceptions.ImproperlyConfigured:: URLRouter 不支持 include()。请改用嵌套的 URLRouter 实例。

我在文档中找到了评论但没有示例:https : //channels.readthedocs.io/en/latest/releases/2.1.0.html?highlight=URLRouter#nested-url-routing

django-channels

6
推荐指数
1
解决办法
974
查看次数

如何在uWSGI上仅记录5xx错误

我想让uWSGI只记录服务器错误并避免正常的请求日志,因为文件增长非常快,并且所有请求记录都非常适合NGINX.

我怎样才能正确配置我的uwsgi.ini呢?文档对我来说不是很清楚.

uwsgi

5
推荐指数
1
解决办法
3092
查看次数

如何通过Silex捕获任何"未定义"的路线

我在Silex中定义了几条路线,但我不知道如何捕捉不存在的路线.

例如:

$app->get('/category/{name}', 'Acme\Controller\Main::category');
Run Code Online (Sandbox Code Playgroud)

我希望没有必要无限制地定义所有路线:

$app->get('/category/{name}', 'Acme\Controller\Main::notFound');
$app->get('/category/{name}/', 'Acme\Controller\Main::notFound');
$app->get('/category/{name}/{name2}', 'Acme\Controller\Main::notFound');
$app->get('/category/{name}/{name2}/', 'Acme\Controller\Main::notFound');
$app->get('/category/{name}/{name2}/{name3}', 'Acme\Controller\Main::notFound');
[...]
Run Code Online (Sandbox Code Playgroud)

什么是最优雅的解决方案?

提前致谢!

silex

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

Dynaconf 使用 .secrets.toml 覆盖 settings.toml 中的部分

我正在使用 Dynaconf (3.1.2) 来处理我的 python 应用程序设置。

settings.toml如果我在at 和 at使用相同的密钥.secrets.toml,则这些部分最后仅包含机密文件中的值,而不再包含设置文件中的值。我该如何处理这个问题?

我有以下设置:

# settings.toml
[smtp]
host = "mail.myserver.com"
port = 587
username = "me@myserver.com"
Run Code Online (Sandbox Code Playgroud)
# .secrets.toml
[smtp]
password = "mysecretpassword"
Run Code Online (Sandbox Code Playgroud)

当我尝试获取 settings.smtp.host 时,出现以下异常:

dynaconf.vendor.box.exceptions.BoxKeyError: "'DynaBox' object has no attribute 'HOST'"
Run Code Online (Sandbox Code Playgroud)

在调试设置对象时可以看到:

'SMTP': <Box: {'password': 'mysecretpassword'}>

Run Code Online (Sandbox Code Playgroud)

python

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

标签 统计

python ×2

bash ×1

django-channels ×1

silex ×1

uwsgi ×1