小编dev*_*ev9的帖子

如何检测Ansible playbook在执行期间挂起的原因

我写的一些任务开始并且永远不会结束.Ansible不提供任何可以解释这一点的错误或日志,即使使用-vvvv选项也是如此.Playbook只是挂起,过了几个小时不会改变任何东西.

当我尝试手动运行我的任务时(通过SSH输入命令)一切都很好.

挂起的示例任务:

- name: apt upgrade
  shell: apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

有没有办法看到stdout和stderr?我试过了:

- name: apt upgrade
  shell: apt-get upgrade
  register: hello
- debug: msg="{{ hello.stdout }}"
- debug: msg="{{ hello.stderr }}"
Run Code Online (Sandbox Code Playgroud)

但没有改变.

我确实有必要的权限,我传递了正确的sudo密码 - 其他需要sudo正确执行的任务.

deployment ubuntu provisioning ansible ansible-playbook

42
推荐指数
4
解决办法
3万
查看次数

如何在makefile中使用virtualenv

我想在处理指定的virtualenv时执行几个操作.

例如命令

make install
Run Code Online (Sandbox Code Playgroud)

相当于

source path/to/virtualenv/bin/activate
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

可能吗?

makefile virtualenv

34
推荐指数
7
解决办法
2万
查看次数

如何向Django QuerySet添加其他列

我有一个带书籍的QuerySet,我想score在每个Book结果中添加一个字段.

qs = Book.objects.all()
Run Code Online (Sandbox Code Playgroud)

在原始SQL中我会写:

SELECT
    *,
    (
        (SELECT COUNT(*) FROM votes WHERE value=1 AND book=b.id) - 
        (SELECT COUNT(*) FROM votes WHERE value=-1 AND book=b.id)
    ) AS score
FROM
    Book b;
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Django中实现它?我试过了annotate(),但它似乎不适合这种东西.

python sql django django-models

11
推荐指数
2
解决办法
2万
查看次数

在PostgreSQL表中创建多个索引的缺点

在阅读我认为的索引文档之后

嘿,因为(在我的情况下)几乎总是从数据库读取比写入它更频繁地执行,为什么不在表中的大多数字段上创建索引?

这是正确的态度吗?除了插入更长时,还有其他任何缺点吗?

当然,索引将仅限于我在SELECT语句条件下实际使用的字段.

database postgresql indexing performance database-design

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

如何在 Blogger 上嵌入 3rd 方小部件

作为网站管理员,我如何允许 Blogger 用户将我的内容嵌入到他们的博客中?

我尝试了以下解决方案 - 简单的按钮重定向到:

https://www.blogger.com/blog-this.g?u=[ MY URL ]&t=[ MY WIDGET CODE ]

里面有标签[ MY WIDGET CODE ]

我遇到了两个问题:

  • <script>标签似乎是从建议内容后自动删除

  • 即使用户复制并粘贴脚本,它也只能在发布后工作 - 因此用户无法在预览中看到它的样子

提前感谢您的任何提示:)

注意:我知道这可能是一个安全问题,但如果博主能够发布带有脚本的内容,那么为什么他不能预览它们?

javascript blogger widget

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

如何在Django中使用带有crispy-forms的CreateView

我想使用CreateView以及crispy-forms生成的布局.但是,我似乎忽略了传递给forms.pyself.helper的所有内容.表单渲染很好,但只有CreateView生成的字段 - 缺少传递给Layout的所有字段.

我的views.py

class MyView(CreateView):
    form_class = MyForm
    model = MyModel

    def form_valid(self, form):
        pass
Run Code Online (Sandbox Code Playgroud)

我的forms.py:

from django.forms import ModelForm, Textarea
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit, Layout
from crispy_forms.bootstrap import FormActions

from .models import MyModel

class MyForm(ModelForm): 

    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper(self)
        self.helper.form_method = 'POST'
        self.helper.add_input(Submit('submit', 'Submit'))
        self.helper.layout = Layout( 
            FormActions(Submit('BlahBlah', 'BlahBlah', css_class='btn-primary')))

    class Meta:
        model = MyModel
        fields = ['xxx', 'yyy']
Run Code Online (Sandbox Code Playgroud)

我的image_form.html:

{% load …
Run Code Online (Sandbox Code Playgroud)

python django django-crispy-forms

3
推荐指数
2
解决办法
1680
查看次数

如何在Django中将可选参数传递给url

我有一个带有一个可选参数的网址格式:

# urls.py :
url(r'^(page/(?P<page>\w+))?$', MyIndexView.as_view(), name='index'),
Run Code Online (Sandbox Code Playgroud)

分页和其他所有方法都可以正常工作,直到我在模板中创建指向特定页面的网址为止:

# templates/mysite.html
{% url 'index' 54 %}
Run Code Online (Sandbox Code Playgroud)

然后我得到一个错误:

Reverse for 'index' with arguments '(54,)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'(page/(?P<page>\\w+))?$']
Run Code Online (Sandbox Code Playgroud)

没有该参数,它将起作用:

{% url 'index' %}
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

{% url 'index' page=54 %}
Run Code Online (Sandbox Code Playgroud)

并得到类似的错误。

django django-urls

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

如何使响应式AdSense单元在浏览器调整大小时更改其大小

我在高级模式下使用自适应AdSense单元.它工作正常,直到我决定调整浏览器窗口的大小.广告未按媒体查询中的指定调整大小.

<style>
.myad { width: 320px; height: 50px; }
@media(min-width: 500px) { .myad { width: 468px; height: 60px; } }
@media(min-width: 800px) { .myad { width: 728px; height: 90px; } }
</style>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle myad"
     style="display:inline-block"
     data-ad-client="XXX"
     data-ad-slot="XXX"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Run Code Online (Sandbox Code Playgroud)

CSS是正确的.在Firebug中,我可以看到媒体规则划掉并取而代之的是:

element.style {
  display: inline-block;
  height: 90px;
  width: 728px;
}
Run Code Online (Sandbox Code Playgroud)

html css adsense media-queries responsive-design

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

在Django视图中用BR标记替换纯文本中的换行符

Django提供了与PHP函数类似的换行模板标记nl2br.

它工作得很好,但是它会根据每个请求处理给定的文本,这会浪费资源.在将其保存到数据库之前,我宁愿这样做一次.

在Django视图中是否有任何等效函数?

python django formatting newline

0
推荐指数
1
解决办法
2837
查看次数

使用CSS / jQuery的自适应字体大小

我想在div中创建一个响应文本。

我尝试了jquery-textfillFlowType,但是它们根本对我不起作用。

FlowType不会使用所有可用空间,仅会使用其中的一部分(demo),而textfill不考虑高度(demo)。

我是不正确地使用它们还是我想要的东西很难实现?

我的HTML:

<body>
    <div class="external">
        <div class="internal">Example</div>
    </div>    
</body>
Run Code Online (Sandbox Code Playgroud)

我的CSS:

.internal{width:100%;height:100%}
.external{width:400px;height:50px;}
Run Code Online (Sandbox Code Playgroud)

PS。目前尚不足够支持视口。

html javascript css jquery responsive-design

0
推荐指数
1
解决办法
4804
查看次数