Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - AdminUser

Страницы: 1 2 [3] 4 5
31
В python если вы в конструкторе не переопределяете конструктор вручную, будет автоматически вызван конструктор родителя первой ветки наследования. И далее согласно последовательности __mro__. Единственное, что может вам помешать вызвать конструктор родителя - это его переопределение в классе-предке без вызова конструктора-предка, например:

class A(object): pass

class B(object):
    def __init__(self):
        self.b = 1
        print "bbbbbbbbbbb"

class C(A,B):
    def __init__(self):
        super(C,self).__init__()
        print "cccccccccccc"
        #print self.a
        print self.b

def main():
    c = C()

выведет:

Цитата:
bbbbbbbbbbb
cccccccccccc
1
Но если мы переопределим конструктор в A без вызова super:

class A(object):
    def __init__(self):
        pass

то получим ошибку:

Цитата:
AttributeError: 'C' object has no attribute 'b'      
      

Если же переопределить грамотно:

class A(object):
    def __init__(self):
        super(A,self).__init__()
        print "AAAAAAAAAAAAA"

то все конструкторы вызовутся по порядку без ошибок.

Так же для 2.7 важно, чтобы все объекты в цепочке mro были наследованы от object - т.е. их классы были типами, а не  экземплярами classobj. О чем я говорю:

class B:
    def __init__(self):

        self.b = 1
        print "BBBBBBBBBBBB"

Наследование от такого класса не будет вызывать его конструктор, т.е. наследует только атрибуты класса - все методы и поля класса, но не экземпляра. Это тоже важный паттерн

32
Python / Re: pypy: ошибка при установке pillow
« : Март 20, 2019, 06:01:34 pm »
Не знаю точно. Но судя по посту на bitbucket здесь:

        # Now actually compile and link everything.
        self.build_extensions()

Это последняя строка метода run, описание которого:

Цитата:
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.

33
Python / pypy: ошибка при установке pillow
« : Март 20, 2019, 03:50:34 pm »
Всем привет!

Пытаюсь становить pillow на pypy, но получаю следующую ошибку:

Цитата:
running build_ext

The headers or library files could not be found for zlib, a required dependency when compiling Pillow from source

Traceback <most recent call last>:
File "<module>", line 1, in <module>
File "c:\...\setup.py", line 812, in <module>
    raise RequiredDependencyException<nsg>

Можно ли это как-то победить?

34
Django / Re: Выполнение AJAX-запроса: ошибка csrf
« : Март 16, 2019, 02:10:07 pm »
Спасибо! То, что надо!

35
Странно, добавил else и все заработало. Почему не работало до этого, загадка

36
Django / Re: Выполнение AJAX-запроса: ошибка csrf
« : Март 16, 2019, 02:04:18 pm »
И еще я заметил, что мой токен, полученный из куки не совпадает с генерируемым через {% csrf_token %}

37
Django / Выполнение AJAX-запроса: ошибка csrf
« : Март 16, 2019, 02:00:58 pm »
Всем привет!

Пытаюсь отправить AJAX-запрос, но натыкаюсь на

Цитата:
    CSRF token missing or incorrect.

Отправляю так:

var data = 'id=0';

POST_AJAX(data);

function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {

var cookie = cookies[i].trim();

if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
var csrftoken = getCookie('csrftoken');

data = 'csrftoken=' + csrftoken + '&' + data;

var xhr = new XMLHttpRequest();

xhr.open("POST", '{% url 'to_friend' %}', true);

xhr.setRequestHeader('Content-Type', ENCTYPE);

xhr.onreadystatechange = function() {
alert( xhr.status + ': ' + xhr.statusText );
}

xhr.send(data);



И принимаю так:

def ToFriend(request):

    if request.method == "POST":
        user_id = request.POST.get("id",'')
        user = Profile.objects.get(id=user_id)
        print user
        return HttpResponse("ok!--=")

Как ее можно пофиксить? csrftoken получаю такой:

qk6dON8sSYRQRGdBm5KPlEnyy9BUQnIjRS0s0Nr1VcYBsW0gupowhQ282OtQV2oN

38
Какая-то коварная ошибка. Есть вьюха:

def ToFriend(request):
    if request.method == "POST":
        user_id = request.POST.get("id",'')
        user = Profile.objects.get(id=user_id)

    return HttpResponseRedirect(reverse('users'))

Она возвращает ошибку из заголовка. Если так:

def ToFriend(request):

    return HttpResponseRedirect(reverse('users'))

То нет ошибок. Что такое?

39
Django / Re: 'RaitingForm' object has no attribute 'is_bound'
« : Март 11, 2019, 03:13:23 pm »
Точно. Благодарю

40
Django / 'RaitingForm' object has no attribute 'is_bound'
« : Март 11, 2019, 03:10:41 pm »
После некоторых манипуляций с формой у меня стала выскакивать ошибка. Что она может означать?
class RatingForm(forms.ModelForm):

    class Meta(object):

        model = Raiting
        fields =  ('Value', 'Target')

    def __init__(self, *args, **kwargs):

        if kwargs.__contains__(u'instance'):               
            if kwargs[u'instance']:
                kwargs.update(initial={
                    'TargetProfile': kwargs[u'instance'].Target.From           
                })

        self.submit = u'Оценить'

41
Django / Re: Использование verbose_name в шаблоне
« : Март 10, 2019, 03:57:09 pm »
Специально для тебя:

@register.filter
def field_name(obj, field):
    return obj._meta.get_field(field).verbose_name

42
Django / Re: Использование verbose_name в шаблоне
« : Март 10, 2019, 03:30:41 pm »
Цитата:
Не дает. Пишет ошибку:

Перезапусти сервер

43
Django / Re: Использование verbose_name в шаблоне
« : Март 10, 2019, 03:11:39 pm »
Посмотрите здесь решение

44
Привет

Написал url с аргументом:

url(r'^users/([0-9]+)/', ProfileView.Detail.as_view()),
для доступа к элементу Profile через DetailView:

class Detail(DetailView):
    model = Profile
    template_name = "home.html"
    context_object_name = 'profile'                                # по умолчанию object или objects

    def get_context_data(self, *args, **kwargs):
        context = super(Detail, self).get_context_data(*args, **kwargs)
        context['header'] = "Профиль"
        return context

Получаю ошибку:

Цитата:
Generic detail view Detail must be called with either an object pk or a slug.

Как исправить?

45
Django / Re: Куда загружаются файлы из ImageField?
« : Март 10, 2019, 12:22:19 pm »
Цитата:
При просмотре в админке же абсолютный путь к картинке джанго показывает с ID=1: "1/change/static/imagination/mypicture.png". Откуда берутся эти `1` и `change`? И куда сохраняется сама картинка?

Посмотрите генерируемый html-код. Скорее всего он сгенеррован в виде относительной ссылки и переход происходит относительно адреса текущей страницы пользователя, по умолчанию:

Цитата:
http://адрес_сайта/admin/имя_приложения/имя_модели/id/change/


Картинка у вас должна сохраняться по пути
Цитата:
/media/static/imagination/mypicture.png

Смотрите внимательно в папке вашего виртуального окружения

Страницы: 1 2 [3] 4 5