小编Pro*_*e85的帖子

用parent初始化子类

有父类和子类我想用父实例初始化子类.我的方式看起来很麻烦(见下文):

我定义了一个static方法来提取init父初始化的参数:

class Parent(object):
    @staticmethod
    get_init_params(parent_obj):
        a = parent_obj.a
        b = parent_obj.b
        return (a, b)

    def __init__(self, a, b):
        self.a = a
        self.b = b

class Child(Parent):
    def __init__(self, parent):
        super(Parent, self).__init__(*get_init_params(parent))
Run Code Online (Sandbox Code Playgroud)

可能有更直接的方式吗?

编辑现在课程更简单

python inheritance

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

Django的哪个服务器

我将使用哪个Web服务器/配置来部署简单的Django/django-cms应用程序?我的主要兴趣点是(按优先顺序排列):

  1. 易于安装/配置
  2. 可靠性
  3. 速度
  4. 安全方面

我可以找到不同的可能性:

  • Apache2与modwsgi
  • Ngnix和uWSGI
  • CherryPy的
  • Gunicorn

关于上述几点,这些可能性之间是否有任何比较?我查看了Django文档,但没有任何建议.

django webserver wsgi

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

按键列出组中的元素

假设我有以下列表:

mylist = [keyobj1, valobj1, valobj2, keyobj2, valobj1, valobj2, valobj3,...]
Run Code Online (Sandbox Code Playgroud)

我希望得到一个包含以下内容的词典:

mydict = {keyobj1: [valobj1, valobj2], keyobj2: [valobj1,valobj2,valobj3, ...}
Run Code Online (Sandbox Code Playgroud)

有没有执行此任务的库?

下面是要执行的粗略算法(我知道,看起来很难看):

# convert mylist to iterator
mylist = iter(mylist)
n = mylist.next()
while True:
     try:
         if not iskey(n):
             n = mylist.next()
             value_list.append(n)
         else:
             mydict[key] = value_list
             value_list = []
             key = n
             n = mylist.next()
     except StopIteration:
         mydict[key] = value_list
         break
Run Code Online (Sandbox Code Playgroud)

python

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

django 模型 - 有条件地设置空白 = True

我正在尝试构建一个应用程序,用户可以在其中自定义表单。以下示例包含用于创建字段 ( QuestionField, AnswerField) 的类,该字段由管理员使用并由BoolAnswer用户填写: 这样管理员可以创建一个包含问题和可能答案的表单。

根据 django 文档,blank=True与评估有关。问题在于它是在类级别而不是对象级别上设置的。

如何blank=True根据相关模型进行设置,以便我不必重新实现自己的验证器?(参见 中的伪代码BoolAnswer

我的models.py

class QuestionField(models.Model):
    question = models.TextField(max_length=200)
    models.ForeignKey(Sheet)


class BoolAnswerField(AnswerField):
    question = models.ForeignKey(models.Model)
    if_true_field = models.TextField(max_length=100, null=True)


class BoolAnswer(models.Model):
    bool_answer_field = models.ForeignKey(BoolAnswerField)
    result = models.BooleanField()
    if_true = models.TextField(max_length=100, null=True,

                               blank=True if self.bool_answer_field.if_true_field)
Run Code Online (Sandbox Code Playgroud)

** 简短说明 **:如果问题的答案BoolAnswerField为真,则if_true字段应解释,为什么

python django django-models

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

golang模板-默认的语义如何

查看舵图,通常会出现以下情况:

{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
Run Code Online (Sandbox Code Playgroud)

我在模板文档中找不到关于默认函数的任何信息:

https://golang.org/pkg/text/template/

它的语义是什么?是否有任何可能的论点?

go kubernetes-helm

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

python替换大文件中的随机行

假设我有一个大文件,我想替换第n行.我知道这个解决方案:

w = open('out','w')
for line in open('in','r'):
    w.write(replace_somehow(line))

os.remove('in')
os.rename('out','in')
Run Code Online (Sandbox Code Playgroud)

如果要在文件开头替换的行,我不想用多行重写整个文件.是否有可能直接替换第n行?

python

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

使用装饰器时正在销毁列表

在下面的代码中,我使用装饰器来对类变量执行更改

class MyClass():

    def __init__(self):
        self.vars = [1,2]
        self.log = None

    def _mydecorator(function):
        def logger(self):
            self.log = "BLA"
            function(self)
        return logger

    @_mydecorator
    def addone(self):
        print("Inside Class: %s" % map(lambda x: x+1, self.vars))
        return map(lambda x: x+1, self.vars)


if __name__ == '__main__':
    myclass = MyClass()
    print myclass.addone()
Run Code Online (Sandbox Code Playgroud)

该脚本返回:

Inside Class: [2,3]
None
Run Code Online (Sandbox Code Playgroud)

为什么值没有传递给调用者?

如果我不装饰addone我得到的功能:

Inside Class: [2,3]
[2,3]
Run Code Online (Sandbox Code Playgroud)

这个装饰者改变了什么?

python

0
推荐指数
2
解决办法
55
查看次数