我正在使用以下django/python代码将文件流式传输到浏览器:
wrapper = FileWrapper(file(path))
response = HttpResponse(wrapper, content_type='text/plain')
response['Content-Length'] = os.path.getsize(path)
return response
Run Code Online (Sandbox Code Playgroud)
返回响应后有没有办法删除文件?使用回调函数还是什么?我可以创建一个cron来删除所有tmp文件,但如果我可以流式传输文件并从同一请求中删除它们,它会更整洁.
我需要一种方法从字符串中删除所有空格,除非该空格在引号之间.
result = re.sub('".*?"', "", content)
Run Code Online (Sandbox Code Playgroud)
这将匹配引号之间的任何内容,但现在需要忽略该匹配并为空格添加匹配项.
我正在尝试修复Doctrine的错误数据格式,以便在此处和此处引用反序列化错误.
我的composer.json样子......
require: {
"symfony/symfony": "~2.5",
"doctrine/doctrine-bundle": "~1.2",
"doctrine/orm": "dev-master",
"...": "..."
}
Run Code Online (Sandbox Code Playgroud)
...但作曲家抱怨它无法找到匹配的包:
doctrine/orm dev-master需要doctrine/dbal> = 2.5-dev,<2.6-dev - >找不到匹配的包.
我怎样才能解决依赖性不分叉或提高minimum-stability的composer.json?
更新:Nifr的建议有效,这是新的配置:
"symfony/symfony": "~2.5",
"doctrine/orm": "dev-master",
"doctrine/dbal": "@dev",
"doctrine/common": "@dev",
"doctrine/doctrine-bundle": "@dev",
Run Code Online (Sandbox Code Playgroud) 我正在设置域注册表,如下所述:
https://docs.docker.com/registry/deploying/
我为docker.mydomain.com生成了一个证书,并在我的服务器上使用他们的命令启动了docker:
docker run -d -p 5000:5000 --restart=always --name registry \
-v `pwd`/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
registry:2
Run Code Online (Sandbox Code Playgroud)
我已经启动了docker并指向了使用letsencrypt(https://letsencrypt.org/)获得的证书.
现在,当我浏览到https://docker.mydomain.com:5000/v2/时,我会得到一个只有"{}"的页面,带有绿色锁定(成功的安全页面请求).
但是当我尝试docker login docker.mydomain.com:5000从不同的服务器执行操作时,我在注册表docker中看到错误:
TLS handshake error from xxx.xxx.xxx.xxx:51773: remote error: bad certificate
Run Code Online (Sandbox Code Playgroud)
我在设置证书时尝试了一些不同的变体,并得到了如下错误:
remote error: unknown certificate authority
Run Code Online (Sandbox Code Playgroud)
和
tls: first record does not look like a TLS handshake
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我有一个依赖于数据库连接的类,如下所示:
class Test
{
private $conn;
public function __construct(Connection $conn) {
$this->conn = $conn;
}
}
Run Code Online (Sandbox Code Playgroud)
这项服务可能如下所示:
services:
service.test:
class: Test
arguments:
- ["@database_connection"]
Run Code Online (Sandbox Code Playgroud)
现在,我想传递我自己的连接服务/对象,在启动时创建一个Connection.但我不能把它作为一个论点,因为它想要一个Connection对象,而不是一个工厂.
我怎样才能最好地接近这个?
我已经尝试setConnection在Test类上添加一个,但保持当前定义和服务完好无损.
我有一个这样的表格:
CHOICES = [
('a', 'a_value'),
('b', 'b_value'),
('c', 'c_value')
]
self.fields["choice"] = forms.ChoiceField(
widget=RadioSelect(),
choices=CHOICES,
)
Run Code Online (Sandbox Code Playgroud)
如何在模板中选择此表单字段的单个元素?我希望能够做到这样的事情:
<tr><td>{{form.choice.a}}</td><td>some custom extra field</td></tr>
Run Code Online (Sandbox Code Playgroud)
或者有另一种方法可以改变RadioSelect的呈现方式吗?
我在一个项目中使用 Themepunch Revolution 滑块,该滑块显示 HTML 5 中的单个视频幻灯片。
当我点击它时,它会暂停,这是我不想要的。
<video>页面中的元素是由滑块插件生成的。
到目前为止,这是我尝试过的:
$('body').on('click', 'video', function(e) {
e.preventDefault();
e.stopPropagation();
return false;
});
Run Code Online (Sandbox Code Playgroud)
这是滑块库中的代码:
html5vid.find('video, .tp-poster, .tp-video-play-button').click(function() {
if (html5vid.hasClass("videoisplaying"))
video.pause();
else
video.play();
})
Run Code Online (Sandbox Code Playgroud)
我也尝试捕获暂停事件,但它从未触发:
$('body').on('pause', 'video', ...);
Run Code Online (Sandbox Code Playgroud) django ×2
python ×2
symfony ×2
composer-php ×1
django-forms ×1
doctrine-orm ×1
forms ×1
html ×1
https ×1
javascript ×1
jquery ×1
lets-encrypt ×1
php ×1
regex ×1
ssl ×1
ubuntu-14.04 ×1