Ответы пользователя по тегу Django
  • Как связать объекты созданные в форме Django?

    Tanner
    @Tanner
    Огромный человекоподобный боевой робот
    Мне было сложно понять ваш вопрос, потому что в примерах кода много подробностей, не относящихся к проблеме. Попробуйте в следующий раз создать минимальный пример кода, воспроизводящий ошибку (minimal reproducible example).

    По существу вопроса, ваши действия должны быть примерно такими:
    if flatform.is_valid() and objform.is_valid():
        with transaction.atomic()
            flat = flatform.save()
            obj = objform.save(commit=False)
            obj.Flat = flat
            obj.save()
    Ответ написан
    Комментировать
  • Как сделать авторизацию через mail.ru на django?

    Tanner
    @Tanner
    Огромный человекоподобный боевой робот
    Я так полагаю, что в вашем примере используется протокол oAuth2. (Неплохо было бы дать ссылку, где конкретно «есть такой пример».)

    В Django нет поддержки социальных логинов (oAuth, OpenID и т. д.) «из коробки». Посмотрите, какой пакет используется для этого на вашем сайте, почитайте его документацию, при необходимости конкретизируйте вопрос.

    Если пока никакого не используется, то я советую python-social-auth.
    Ответ написан
  • Как настроить путь к app module в django?

    Tanner
    @Tanner
    Огромный человекоподобный боевой робот
    Такое может быть, если забыть положить файлик "__init__.py" в папку с модулем.
    Ответ написан
    2 комментария
  • Поэтапная регистрация Django?

    Tanner
    @Tanner
    Огромный человекоподобный боевой робот
    Все этапы может делать одна и та же вьюшка, просто рендерите разный контент в зависимости от состояния данных на сервере:
    1. !user.is_authenticated()
    2. !user.has_usable_password()
    3. Ваша проверка на существование команды

    Хотя другие отвечающие тоже дело говорят: регистрация получается слишком назойливая, боюсь, многие юзеры не дойдут до конца.
    Ответ написан
    Комментировать
  • Как грамотно сделать выборку данных из таблиц БД со связями в Django?

    Tanner
    @Tanner
    Огромный человекоподобный боевой робот
    Вы правильно поняли, для зависимых моделей в главной модели создаются RelatedManager'ы с именем ‘<зависимая_модель>_set’. Например, чтобы получить интересующие нас данные в консоли, мы можем сделать так:
    for project in Projects.objects.all():
        print('Title: ', project.title)
        print('Description: ', project.description)
        for preview in project.preview_set.all():
            print('\tImage title: ', preview.title)
            print('\tImage path: ', preview.image)

    Соответственно, чтобы вывести всё с помощью шаблонизатора, нам нужно переписать это на языке шаблонизатора:
    {% for project in project_list %}
        <h2>{{ project.title }}</h2>
        <p>{{ project.description }}</p>
        {% for preview in project.preview_set.all %}
        <h3>{{ preview.title }}</h3>
        <img src="{{ preview.image }}">
        {% endfor %}
    {% endfor %}

    Остаётся только передать модель в контекст шаблонизатора:
    def portfolio(arg):
        ctx = {
            'project_list': Project.objects.all(),
        }
        return render(arg, 'portfolio.html', ctx)

    С тегами всё аналогично, не стал усложнять ответ.
    Ответ написан
    1 комментарий
  • Не могу понять где ошибка?

    Tanner
    @Tanner
    Огромный человекоподобный боевой робот
    Начиная с 3 строки:
    instance=request.user

    Но request.user не является instance модели User, это объект специального класса, представляющего анонимного пользователя. Аноним не имеет своего представления в БД.

    Для начала создадим пользователя:
    user_form = UserForm(request.POST)
    if user_form.is_valid():
        user = user_form.save()


    Вот теперь у нас есть модель пользователя в БД, и мы можем её использовать, чтобы создать профиль и т. д.
    Ответ написан
    Комментировать