Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,Django,从类内部使用Import,可以';我好像没弄明白_Python_Django_Class_Import - Fatal编程技术网

Python,Django,从类内部使用Import,可以';我好像没弄明白

Python,Django,从类内部使用Import,可以';我好像没弄明白,python,django,class,import,Python,Django,Class,Import,我想在一个类中使用导入,然后由另一个类继承,这样我就不必在每个文件中手动定义导入。我正在尝试这样做,但它不起作用,请提供任何建议: class Djangoimports (): def __init__(self): from django.template import Context print Context class Init1 (Djangoimports): def __init__(self): Djangoi

我想在一个类中使用导入,然后由另一个类继承,这样我就不必在每个文件中手动定义导入。我正在尝试这样做,但它不起作用,请提供任何建议:

class Djangoimports ():
    def __init__(self):
        from django.template import Context
        print Context


class Init1 (Djangoimports):
    def __init__(self):
        Djangoimports.__init__(self)

        self.c = Context(self.constructor_dict) # just example of trying to use the imported "Context"
>>>>> global name 'Context' is not defined

我尝试过尝试使用“self”的各种变体,但不知道如何适当地将其与导入from一起使用,因为它与我通常使用“self”的类属性/方法不同这对我来说很好

但你最好这样做:

>>> class Test(object):
...        from functools import partial
... 
>>> Test().partial
<type 'functools.partial'>

无论哪种方式,您现在都可以在该类上的其他方法中访问
bar
,或者以
self.bar

的形式访问派生方法。这对我来说很好

但你最好这样做:

>>> class Test(object):
...        from functools import partial
... 
>>> Test().partial
<type 'functools.partial'>

无论哪种方式,您现在都可以在该类的其他方法中访问
bar
,或者在Python中作为
self.bar

访问派生方法,导入只会添加到当前名称空间。从函数返回后,名称空间将丢失,但可以保留将其附加到“self”的指针

你可以做:

class Djangoimports ():
    def __init__(self):
        from django.template import Context
        self.Context = Context

class Init1 (Djangoimports):
    def __init__(self):
        Djangoimports.__init__(self)
        self.c = self.Context(self.constructor_dict)

在Python中,导入只会添加到当前名称空间。从函数返回后,名称空间将丢失,但可以保留将其附加到“self”的指针

你可以做:

class Djangoimports ():
    def __init__(self):
        from django.template import Context
        self.Context = Context

class Init1 (Djangoimports):
    def __init__(self):
        Djangoimports.__init__(self)
        self.c = self.Context(self.constructor_dict)

谢谢,我想我明白你的意思了,我不确定在继承importer类的类中如何使用它though@Rick. 您可以作为
self.bar
访问它,因为它成为类名称空间的一部分。。。谢谢你在这方面的帮助谢谢,我想我明白你的意思了,我不确定在继承导入器类的类中如何使用它though@Rick. 您可以作为
self.bar
访问它,因为它成为类名称空间的一部分。。。谢谢你在这方面的帮助