1. Never

    15.11.2008 23:24

    Добрый вечер.
    Я извиняюсь за вопросы, просто не смог найти доступно-понятную информацию в сети.
    1.Я часто вижу записи, наподобие этой:
    class SetPasswordForm(forms.Form):
    def __init__(self, user, *args, **kwargs):
    self.user = user
    super(SetPasswordForm, self).__init__(*args, **kwargs)

    Можно попросить вас описать, что делает строка?
    super(SetPasswordForm, self).__init__(*args, **kwargs)

    За пару месяцев, в принципе пракически разобрался с Python и Django, но суть оператора super мне спокойно спать не дает (хоть и не жена она :) ).

    2. Как сделать в Джанго, что бы при python manage.py syncdb автоматически шло не только создание таблиц, но и их наполнение (например, мне нужно, что бы таблица с городами автоматически стала содержать их список). Достаточно будет ссылки, где почитать на эту тему.

    Заранее благодарю за по
  2. Анатолий Ларин

    15.11.2008 23:35

    1.
    super(type[, object-or-type]) Return the superclass of type.

    С помощью этой строки
    super(SetPasswordForm, self).__init__(*args, **kwargs)
    вызывается конструктор родительского класса.

    2. http://docs.djangoproject.com/en/dev/howto/initial-data/#providing-initial-sql-data

    Рад помочь.
  3. Иван Сагалаев

    15.11.2008 23:53

    вызывается конструктор родительского класса.

    Вообще, это упрощение, но смысл такой, да.

    http://docs.djangoproject.com/en/dev/howto/initial-data/#providing-initial-sql-data

    А вот это не портируемый способ, и не очень удобный. Удобнее (на мой взгляд) оформлять все нужные данные в виде fixture с названием "initial_data".

  4. Never

    15.11.2008 23:59

    Анатолий Ларин, Иван Сагалаев

    Спасибо.
    Но зачем из конструктора класса SetPasswordForm вызывать себя же, но только без одной передаваемой переменной, предварительно внеся ее в область видимости с помощью:
    self.user = user

    Непонятно...
  5. Never

    16.11.2008 00:02

    А, т.е. вызывается конструктор forms.Form, а не сам себя?
    Понял, спасибо.
  6. Анатолий Ларин

    16.11.2008 08:01

    Иван, спасибо за подсказку с fixtures, действительно удобнее.

bbcode