Это звучит как эта проблема Python . Если имя вашего компьютера имеет символы, отличные от ASCII, это не удастся. Вы можете:
python manage.py runserver 127.0.0.1:8000
переменные класса могут быть доступны для вашего класса и в то же время экземпляров класса. Так что здесь происходит то, что, когда мы пытаемся получить доступ к атрибуту в экземпляре, он сначала проверяет, содержит ли экземпляр атрибут; если это не так, он проверяет, содержит ли родительский класс или какой-либо другой класс, от которого он наследует, атрибуты.
class A():
a = [1, 2]
class B(A):
a = A.a + [3]
тест :
print(A.a) # access class variable using the class
print(B.a) # access class variable using the class inheritance as B inherit from A
ins = A() # initializing instance of class A
print(ins.a) # access class variable using instance of the class
вывод :
[1, 2]
[1, 2]
[1, 2]
, как вы можете видеть, мы получаем то же самое выход.
Вы можете использовать A.a
вместо супер.
но вы не можете вызвать super, если не создали экземпляр. как это:
class A():
def __init__(self):
self.a = [1, 2]
class B(A):
def __init__(self):
super(B, self).__init__()
self.a += [3]
Затем, когда вы создаете экземпляр:
i = B()
print(i.a)
>> [1, 2, 3]