小编Max*_*fer的帖子

Ansible - 将注册变量保存到文件

如何将已注册的变量保存到文件中?我从教程中得到了这个:

- hosts: web_servers

  tasks:

     - shell: /usr/bin/foo
       register: foo_result
       ignore_errors: True

     - shell: /usr/bin/bar
       when: foo_result.rc == 5
Run Code Online (Sandbox Code Playgroud)

如何将foo_result变量保存到文件中,例如foo_result.log使用ansible?

ansible ansible-playbook

38
推荐指数
4
解决办法
8万
查看次数

通过python启动systemd服务

有没有办法通过python启动/重启systemd服务?

我知道我可以进行系统调用 - 但是我也可以用shell脚本编写这个...

from subprocess import call
call(["systemctl", "restart service"])
Run Code Online (Sandbox Code Playgroud)

我听说systemd有一些python绑定,但据我所见,它们只覆盖了期刊

python systemd

12
推荐指数
1
解决办法
1万
查看次数

用乌鸦和哨兵登录Django

我可能在火车上有点迟了,但我想用Sentry和Raven登录Django.

我设立了哨兵和乌鸦,在那里我为乌鸦进行了测试并且它有效.

所以现在我想将调试信息发送到哨兵,但我该怎么做呢?

settings.py

RAVEN_CONFIG = {
    'dsn': 'http://code4@mydomain:9000/2',
    # If you are using git, you can also automatically configure the
    # release based on the git info.
    'release': raven.fetch_git_sha(BASE_DIR),
}

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
    },
    'handlers': {
        'sentry': {
            'level': 'WARNING',
            'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
        },
        'console': {
            'level': 'WARNING',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        }
    },
    'loggers': {
        'django': {
            'handlers': ['sentry'],
            'level': 'DEBUG',
            'propagate': True, …
Run Code Online (Sandbox Code Playgroud)

django sentry raven

8
推荐指数
1
解决办法
5979
查看次数

Django的DRY方法

在我的urls.py我有一些像这样的条目:

url(r'auftragsarten/list/$', generic.ListView.as_view(
        queryset=Auftragsart.objects.order_by('name'),
        paginate_by=25),
        name='auftragsarten_liste'),
url(r'^auftragsarten/form/$',
        views.auftragsarten_form,
        name='auftragsarten_form'),
url(r'auftragsarten/update/(?P<pk>[\d]+)/$',
    views.AuftragsartUpdateView.as_view(),
    name='auftragsarten_update'),
url(r'auftragsarten/delete/(?P<pk>[\d]+)/$',
    views.AuftragsartDeleteView.as_view(),
    name='auftragsarten_delete'),
Run Code Online (Sandbox Code Playgroud)

对于许多标准模型重复​​这一点,我只需要获取信息,列出信息并能够编辑和删除它.

在我的views.py:

def auftragsarten_form(request):

    form = AuftragsartenForm(request.POST or None)
    if form.is_valid():
        form.save()
        return redirect('auftragsverwaltung:auftragsarten_liste')
    else:
        print(form.errors)

    return render(request, 'generic_form_template.html', {'form': form})


class AuftragsartUpdateView(UpdateView):

    model = Auftragsart
    fields = '__all__'
    success_url = reverse_lazy('auftragsverwaltung:auftragsarten_liste')
    template_name = 'generic_update_view.html'


class AuftragsartDeleteView(DeleteView):

    model = Auftragsart
    success_url = reverse_lazy('auftragsverwaltung:auftragsarten_liste')
    template_name = 'generic_confirm_delete.html'
Run Code Online (Sandbox Code Playgroud)

这一切都在这种模式之后重复.因此,对于3个型号,我将有3次大部分相同的代码,只需稍作修改.

我怎么能停止重复自己?

python django dry

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

在Docker中获取容器的名称

我在Docker中命名了我的容器,但现在我忘记了名字......

如何列出所有使用的名称?

docker -ps只是给我运行的容器,并docker images给我所有的图像,但没有名称.

我只想要一个列表,在那里我可以看到我在创建它们时如何命名不同的容器.

docker

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

是否有更多pythonic方式来填充此列表?

我想从django查询中清除字符串,以便它可以在latex中使用

items = []
items_to_clean = items.objects.get.all().values()
for dic in items_to_clean:
    items.append(dicttolatex(dic))
Run Code Online (Sandbox Code Playgroud)

这是我完成这项任务的标准方法.这可以通过列表理解以某种方式解决.因为dicttolatex是一个返回字典的函数.

python list

4
推荐指数
2
解决办法
146
查看次数

NoReverseMatch用于简单的Django View

我得到NoReverseMatch错误:

NoReverseMatch at /verfahrensverzeichnis/verzeichnis/320/

Reverse for 'verfahrenvorlage' with arguments '(320,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['verfahrensverzeichnis/verfahren/vorlage/(?P<pk>[\\d+])/add/$']
Run Code Online (Sandbox Code Playgroud)

对于一个相当简单的观点,我无法弄清楚这里出了什么问题.你能救我吗?

url.py:

url(r'^verfahren/vorlage/(?P<pk>[\d+])/add/$',
    views.verfahrenvorlage,
    name='verfahrenvorlage',
    ),
Run Code Online (Sandbox Code Playgroud)

view.py:

def verfahrenvorlage(request, pk):

vorlagen = ProcedurTemplate.objects.all()
kunde_pk = pk

return render(request, 'verfahrensverzeichnis/vorlagen_auswahl.html', {'vorlagen': vorlagen, 'kunden_pk': kunde_pk})
Run Code Online (Sandbox Code Playgroud)

来自template.py:

                <tr>
                    <td>
                        <a href="{% url 'verfahrensverzeichnis:verfahrenvorlage' verfahrensverzeichnis.customer.pk %}">Verfahren hinzufügen</a>
                    </td>
                </tr>
Run Code Online (Sandbox Code Playgroud)

python django

4
推荐指数
1
解决办法
49
查看次数

如何从两个模型填充 ModelChoiceField

在我的表单中,我想用来自两个模型的数据填充 ModelChoiceField。

如何更改包含两个不同模型的对象的查询集?

我的方法是将查询集打包在一个列表中。但这似乎不是数据的正确容器。

forms django model python-3.x

3
推荐指数
1
解决办法
1357
查看次数

访问UpdateView中的Object以传递pk for success_url

我希望用户使用一个带有pkas参数的视图.

我想用self.objectUpdateView以查找pk和IST为传递argslazy_reversesuccess_url.

首先,是否有更好的方法,第二,如何访问对象?

django

3
推荐指数
1
解决办法
1454
查看次数

在Archlinux上通过Pyenv编译Python但缺少OpenSSL

我想在我的新ArchLinux安装上通过pyenv安装python

pyenv install 3.5.1Downloading Python-3.5.1.tar.xz...
-> https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz
Installing Python-3.5.1...
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems


BUILD FAILED (Arch Linux using python-build 20160602)

Inspect or clean up the working tree at /tmp/python-build.20170515113212.3725
Results logged to /tmp/python-build.20170515113212.3725.log

Last 10 log lines:
(cd /home/maximilian/.pyenv/versions/3.5.1/share/man/man1; ln -s python3.5.1 python3.1)
if test "xupgrade" != "xno"  ; then \
    case upgrade in \
        upgrade) ensurepip="--upgrade" ;; \
        install|*) ensurepip="" …
Run Code Online (Sandbox Code Playgroud)

python archlinux pyenv

3
推荐指数
1
解决办法
1289
查看次数

Pythonic编写长导入语句的方法

什么是从Django中的模型(或表单或视图)导入的pythonic方法?

坦率地说,坦率地说:

from myapp.models import foo, bar, foobar, barfoo, foofoo, barbar, barfoobar, thelistgoeson, and, on, andon...
Run Code Online (Sandbox Code Playgroud)

它远远超过最多79个字符 - 但更好的方法是什么?

python django python-import

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

使用 Form 标签获取 Django 模板中模型的名称

我想在 Django 的通用表单模板中显示模型的名称。我考虑过通过表单模板标签访问该名称。我知道我可以通过上下文字典轻松地移交此信息 - 但我想使用表单类中的信息,因为我已经在 ModelForm 的元中给出了信息。

有没有办法在模板中访问这些信息?

更新:

由于我无法直接访问该值,因此我在以下位置为表单分配了一个名称views.py

def form_view(request):
    form = Form(request.POST or None)
    form.name = 'Name'
    ...
    render (request, 'generic_form_tempalte.html', {'form':form}
Run Code Online (Sandbox Code Playgroud)

并在模板中:

{% extends '__base.html' %}
<h1 class="page-header">{{form.name}}</h1>
...
Run Code Online (Sandbox Code Playgroud)

这可行 - 但又多了一步

forms django django-templates

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

为什么不能将模型方法用作默认方法?无论如何,Python / Django模型中的self是什么?

在了解的行为方面,我有一个非常基本的问题self

具体来说,我不明白以下两个代码段为何都不起作用,第一个导致解释器抱怨:

self 作为论据而缺失,

第二个

self 无法引用。

class Model(models.Model)
    name = models.CharField(max_length=200)
    auto_gen_field = models.CharField(max_length=200, default=gen_field())

    def gen_field(self):
        return self.name + 'something'
Run Code Online (Sandbox Code Playgroud)
class Model(models.Model)
    name = models.CharField(max_length=200)
    auto_gen_field = models.CharField(max_length=200, default=gen_field(self))

    def gen_field(self):
        return self.name + 'something'
Run Code Online (Sandbox Code Playgroud)

以下代码self也可以正常使用:

class Model(models.Model)
    name = models.CHarField(max_length=200)
    auto_gen_field = models.CharField(max_length=200, blank=True)

    def gen_field(self):
        return self.name + 'something'

    def save(self):
        self.auto_gen_field = self.gen_field()
        super(Model, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

为什么self引用存在于一个地方而不是另一个地方?

如何修复前两个片段?

python django model class self

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