Phoenix scrub_params方法的文档对我来说有点不清楚.看起来这个功能类似于Rails强参数功能.但是,当你在像这样的控制器中使用它时,
plug :scrub_params, "user" when action in [:create]
Run Code Online (Sandbox Code Playgroud)
...您没有明确说明要将哪些参数列入白名单.我已经查看了代码scrub_params,但是我对Elixir的说法非常苛刻,我不太确定发生了什么.
此方法只是查看模型并使用必需和可选的字段模块属性来列入白名单参数吗?
此外,scrub_params文档说"检查required_key是否存在".什么是"必需的钥匙"?这只是模型中的必填字段吗?
格式化字符串时,我的字符串可能包含"%"我不希望转换的模数.我可以逃避串和每一个变化"%",以"%%"作为一种变通方法.
例如,
'Day old bread, 50%% sale %s' % 'today!'
Run Code Online (Sandbox Code Playgroud)
输出:
'Day old bread, 50% sale today'
Run Code Online (Sandbox Code Playgroud)
但有逃避的替代方案吗?我希望使用dict可以使Python忽略任何非关键字转换.
例如,
'Day old bread, 50% sale %(when)s' % {'when': 'today'}
Run Code Online (Sandbox Code Playgroud)
但Python仍然看到第一个模数,%并给出一个:
TypeError: not enough arguments for format string
Run Code Online (Sandbox Code Playgroud) 问题:docker容器中没有Internet连接.
症状:ping 8.8.8.8不起作用.来自主机系统的Wireshark回馈:
19 10.866212113 172.17.0.2 -> 8.8.8.8 ICMP 98 Echo (ping) request id=0x0009, seq=0/0, ttl=64
20 11.867231972 172.17.0.2 -> 8.8.8.8 ICMP 98 Echo (ping) request id=0x0009, seq=1/256, ttl=64
21 12.868331353 172.17.0.2 -> 8.8.8.8 ICMP 98 Echo (ping) request id=0x0009, seq=2/512, ttl=64
22 13.869400083 172.17.0.2 -> 8.8.8.8 ICMP 98 Echo (ping) request id=0x0009, seq=3/768, ttl=64
Run Code Online (Sandbox Code Playgroud)
但是!如果容器启动与--net=host互联网将完美.
到目前为止我尝试过的:
主机配置:
$ sudo route
Kernel IP routing …Run Code Online (Sandbox Code Playgroud) 你能给我一个Dockerfile的例子,我可以在其中将poetry.lock和pyproject.toml所需的所有软件包安装到Docker的图像/容器中吗?
我正在将 mypy 集成到现有的代码库上(使用 django、drf 框架)。
view.py 中的示例代码:
from rest_framework.permissions import IsAdminUser, IsAuthenticatedOrReadOnly
@api_view()
@permission_classes([IsAuthenticatedOrReadOnly | IsAdminUser])
def listAbc(request):
queryset = ...
serializer = ...
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
结果:
$ mypy
error: Unsupported left operand type for | ("Type[IsAuthenticatedOrReadOnly]")
Run Code Online (Sandbox Code Playgroud)
使用的插件:
$ pip list | grep stubs
django-stubs 1.2.0
djangorestframework-stubs 1.0.0
Run Code Online (Sandbox Code Playgroud)
mypy 配置文件(mypy.ini):
[mypy]
plugins =
mypy_django_plugin.main, mypy_drf_plugin.main
;ignore_missing_imports = True
files=**/*.py
[mypy-*.migrations.*]
ignore_errors = True
[mypy.plugins.django-stubs]
django_settings_module = project.settings
Run Code Online (Sandbox Code Playgroud)
使用 mypy(0.720 和 0.740)进行检查。
这里可能有什么问题?由于操作'|' mypy 无法识别,我怀疑在 mypy 评估期间未添加元类 BasePermissionMetaclass (包含操作) BasePermission。我认为只需安装 djangorestframework-stubs …
因为travis自动运行,我在使用travis-ci上的maven构建项目时遇到了麻烦
mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
Run Code Online (Sandbox Code Playgroud)
由于超时而失败:
No output has been received in the last 10 minutes, this potentially
indicates a stalled build or something wrong with the build itself
Run Code Online (Sandbox Code Playgroud)
根据文档我应该能够覆盖它定义自定义脚本,.travis.yml但它不起作用,这里我的配置:
sudo: false
language:
- java
script: "travis_wait mvn -T4 -pl quickfixj-codegenerator install"
jdk:
- oraclejdk8
env:
- MAVEN_OPTS="-Xms2048m -Xmx=2048m"
branches:
only:
- travis-ci-build
Run Code Online (Sandbox Code Playgroud)
有没有办法避免自动mvn安装或调整它?
我有一个python应用程序,它使用字典作为多个进程之间的共享内存:
from multiprocessing import Manager
manager = Manager()
shared_dict = manager.dict()
Run Code Online (Sandbox Code Playgroud)
REST API使用Flask实现.使用pywsgi或简单地使用Flask.run初始化Flask服务器时,一切正常.我决定投入混合炮.现在,当我从任何工作者访问此共享字典时(即使只有一个正在运行),我收到错误:
message = connection.recv_bytes(256)#deput large message
IOError:[Errno 35]资源暂时不可用
我一直在研究mmap,多处理监听器和客户端,它们看起来都是很多开销.
我正在尝试为scikit-image 提交PR,但我收到Travis-CI 错误:
Traceback (most recent call last):
File "doc/examples/edges/plot_canny.py", line 22, in <module>
from skimage import feature
File "/home/travis/build/scikit-image/scikit-image/skimage/feature/__init__.py", line 9, in <module>
from .peak import peak_local_max
File "/home/travis/build/scikit-image/scikit-image/skimage/feature/peak.py", line 3, in <module>
from ..filters import rank_order
File "/home/travis/build/scikit-image/scikit-image/skimage/filters/__init__.py", line 11, in <module>
from ._frangi import frangi_filter, hessian_filter
File "/home/travis/build/scikit-image/scikit-image/skimage/filters/_frangi.py", line 2, in <module>
from skimage.feature import hessian_matrix, hessian_matrix_eigvals
ImportError: cannot import name hessian_matrix
Run Code Online (Sandbox Code Playgroud)
我想这可能是一个循环导入错误,但我不知道如何解决这个问题.我已经包含 frangi_filter并 hessian_filter进入过滤器的模块__init__.py.
我有一个django服务器上传文件,当我使用浏览器时,我可以毫无问题地上传文件.
但是,如果我使用python-requests命令,它会告诉我CSRF验证失败.请求中止.python请求代码如下:
#upload via HTTP
file = {"docfile": open(fullfilename, "rb")}
s = requests.Session()
r = s.get(dhost)
r = s.post(dhost, files=file)
Run Code Online (Sandbox Code Playgroud)
如果我执行我的代码,我得到代码403并且错误CSRF验证失败.请求中止.失败原因:CSRF令牌丢失或不正确.
但是,如果我查看我发送的标题,我会设置cookie:
CaseInsensitiveDict({'Content-Length': u'84169',
'Accept-Encoding': 'gzip, deflate, compress',
'Accept': '*/*',
'User-Agent': 'python-requests/2.0.1 CPython/2.7.3 Linux/3.6.11+',
'Cookie': 'csrftoken=GOOIsG89i5oMCJO6594algTXooxoUeoL',
'Content-Type': 'multipart/form-data; boundary=86ada00b4f6c41d5997293cce7a53b6b'})
Run Code Online (Sandbox Code Playgroud)
你能否告诉我应该做些什么才能让它发挥作用?
谢谢,
约翰.
python ×6
django ×2
docker ×2
django-stubs ×1
dockerfile ×1
ecto ×1
elixir ×1
gunicorn ×1
iptables ×1
mypy ×1
networking ×1
scikit-image ×1
travis-ci ×1
typeshed ×1