小编gue*_*tli的帖子

使用 Python 库在 IMAP 中移动邮件

在 IMAP 中将邮件移动到不同的文件夹似乎相当困难。

请参阅IMAP:如何将邮件从一个文件夹移动到另一个文件夹

我怎样才能在Python中做到这一点而不需要编写太多代码?

我更喜欢重复使用:-)

python email imap imaplib

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

使用Unicode发送HTML邮件

我修改了python文档中的示例,以测试电子邮件模块中的unicode.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, unicode_literals, print_function

import smtplib

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# me == my email address
# you == recipient's email address
me = "my@email.com"
you = "your@email.com"

umlauts='German Umlauts: üöä ÜÖÄ ß'

# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] = umlauts
msg['From'] = me
msg['To'] = you

# Create the body of the message (a plain-text …
Run Code Online (Sandbox Code Playgroud)

python email unicode python-2.7

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

盐:基于systemd的条件是否可用

我想通过盐堆栈安装此文件。

# /etc/logrotate.d/foo

/home/foo/log/foo.log {
    compress
    # ...
    postrotate
      systemctl restart foo.service
    endscript
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,有些旧机器还没有安装系统。

对于那些机器,我需要以下postrotate脚本:

/etc/init.d/foo restart
Run Code Online (Sandbox Code Playgroud)

如何用盐做这件事?

我想我需要这样的东西:

postrotate
 {% if ??? %}
   /etc/init.d/foo restart
 {% else %}
   systemctl restart foo.service
 {% endif %} 
endscript
Run Code Online (Sandbox Code Playgroud)

但是如何实施???

systemd salt-stack

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

在包级别使用类型注释

我想使用注释在IDE中有更好的自动完成,并且可能稍后在自动化测试中进行类型测试.但是如何在不引入大量额外代码的情况下为多种方法添加类型注释?

例如,假设您有一个使用Django框架的大代码库,包括大约200个带request参数的方法; 添加类型注释200次会使代码膨胀.

我目前的想法是在包级别包含类型注释:in setup.py(或其他地方).我定义了一个规则,说"每次使用变量request时,它都是类型django.http.HttpRequest".对于名称request指向不同类型的变量的边缘情况,应该进行显式注释,但这些注释很少.

如何实施?还有其他方法可以实现总体目标吗?

python django type-hinting python-3.x

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

form._raw_value(fieldname)在Django 1.9中使用

我有使用的代码form._raw_value(fieldname)

在Django 1.9中已消失。

有没有办法访问1.9+中的原始值?

更新资料

我只是将代码迁移到Django 1.9。到目前为止,我对那里发生的事情没有更深入的了解。

django deprecated

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

Django ORM:通过过滤器查找获取字段的verbose_name

我可以使用查询我的模型MyModel.objects.filter(othermodel__nr='foo')

这很好。

我想获取该字段的verbose_name

例:

class OtherModel(models.Model):
    nr=models.IntegerField(verbose_name='Number')
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,因为我可以访问OtherModel,所以很容易,但是我想使其通用。

如何获取此处在“键”中使用的字段的详细名称?

MyModel.objects.filter(**{key: value})

我搜索解决双下划线的方法。在此示例中,“ othermodel__nr”改为(例如)“ Number”。

更新资料

在上面的示例中,我知道引用的模型是OtherModel。但是我搜索了适用于任何字符串的解决方案。例如这样:

MyModel.objects.filter(**{str_containing_three_double_underscores: 'foo'})
Run Code Online (Sandbox Code Playgroud)

我搜寻:

get_verbose_name(str_containing_three_double_underscores) --> MyVerboseName
Run Code Online (Sandbox Code Playgroud)

django django-orm

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

获取列表的前 N ​​项,如果列表较短,则可以

打印列表/生成器的前 N ​​个项目

这适用于普通列表。它打印列表的前 3 项

l=[1, 2, 3, 4]
print(l[:min(3, len(l))])
Run Code Online (Sandbox Code Playgroud)

我也希望这项工作适用于少于三个项目的列表。如果列表中只有一项,则打印一项。

AFAIK len(l) 仅适用于列表。如何为生成器实现这个?

python

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

Django:在基于类的视图中包含媒体(css/js)

我正在将基于方法的视图中的旧django代码更新为基于类的视图.

我知道如何通过Media类在表单中包含媒体(css/js)

如果我的基于类的视图不包含任何表单,我如何使用媒体类?

django django-class-based-views django-media

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

Django如何使用connection_created信号

我想找出什么时候连接到我的Django数据库,或重新启动我的Django服务器.我找到了connection_created Django信号.描述是:

数据库包装器与数据库建立初始连接时发送.如果您要将任何后连接命令发送到SQL后端,这将特别有用.

所以我认为使用这个信号对我的情况来说是一个很好的解决方案.我想在建立连接后运行一个函数.我找不到关于此信号用例的任何文档.connection_created.connect可能是使用的功能.这个函数在一堆参数,但有相关的的有 self,receiver,senderweak.有谁知道如何使用这些参数和这个函数在新的连接实例上运行我的函数?

此外,如果除了这个信号之外还有任何其他解决方案,我很乐意听到它们.

python django django-signals

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

Python argparse:显示默认值并保留换行符?

我想在帮助文本中保留换行符并显示参数的默认值。

我在 Stackoverflow 找到了两个答案:

如何启用这两个功能?

python argparse

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