Сообщество Хекслета

Denis Bondarenko около 3 часов назад →

Здравствуйте! Здается мне в тестах, в вопросе В каком случае срабатывает ветка else у цикла for/while? есть два правильных ответа:

  1. Если коллекция оказалась пустой
  2. Если цикл не завершался с помощью break

а ожидается один ответ. example

Андрей Моисейкин около 3 часов назад →

Первое самостоятельное задание не понятно.

переделайте hello_django.views.index c использованием TemplateView. View должа наследовать этот класс, а не быть заменена на TemplateView.as_view(…).

До этого функция index у нас возвращала render(request, 'index.html', context={'who': 'World',})

Не понимаю, какой нужно делать метод в классе. Я понимаю что, регистрируется представление-класс с помощью метода (метода класса) as_view. А к какому методу потом внутри класс обращается? Какой метод должен вернуть вот это:"render(request, 'index.html', context={'who': 'World',})" ? Метод get?

С функцией все понятно. Во вью функцию передается запрос, она возвращает ответ. А какой метод в классе возвращает, непонятно. В теории упоминается два метод get и get_context_data В каком случае какой вызывается?

В итоге во views.py так сделал:

from django.shortcuts import render
from django.views.generic.base import TemplateView


class HomePageView(TemplateView):

    template_name = 'index.html'


    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['who'] = 'World'
        return context


    def get(self, request, *args, **kwargs):
        return render(request, template_name, context)

А в urls.py так:

from hello_django.views import HomePageView

urlpatterns = [
    path('', HomePageView.as_view()),
    path('calc/', include('hello_django.calc.urls')),
]

Правильно?

З.Ы. не работает пишет, что в return render(request, template_name, context) name 'template_name' is not defined. Хотя я же его его в классе определил, как в теории писали. Не понимаю(

З.З.Ы вставил определение template_name непосредственно в сам методе. Теперь пишет: name 'context' is not defined

З.З.З.Ы в методе get присвоил переменной context результат вызова метода get_context_data. Все заработало.

Правильно ли это? Или это я костылей насоздавал?

Игорь Прохоренко около 4 часов назад →

Мой вариант решения сильно отличается от решения учителя. В чем выгоды подхода, примененного в решения учителя? Ревью тут

Алексей Шлапаков около 4 часов назад →

День добрый. Подскажите, в решении учителя вот эта конструкция за что отвечает?

    if (targetTab.classList.contains('active')) {
      return;
    }

Alex Mashurov около 4 часов назад →

Здравствуйте, а что насчет import "./App.css" это импорт просто всего файла? И что происходит дальше? (я про реакт)

Илья около 6 часов назад →

Привет всем, не могли бы объяснить, что у меня за ошибка? https://ru.hexlet.io/code_reviews/381947

Алексей Швецов около 12 часов назад →

Здравствуйте. Несколько вопросов по теории:

  1. Зачем в теории в обработчике patch в params есть параметр schoolData, ведь в шаблоне такая переменная не используется?
  2. Почему в том же обработчике при успешной валидации редирект идёт снова на форму редактирования? Это как-то не логично, как будто подразумевается, что пользователь после редактирования сразу снова хочет изменить информацию, и при этом мы добавляем flash-сообщение, но в шаблоне его вывода нет.
  3. Вроде в обработчик patch забыли прокинуть $router

Спасибо.

Evgeny Degtev около 18 часов назад →

Здравствуйте!

Вот так - работает, а так - нет. (различия только в блоке beforeEach.

Не работает fs.copyFile(), приходится изобретать велосипед. В чем может быть проблема?

Nikita Ostapenko около 19 часов назад →

Я что-то туплю, но помогите пожалуйста понять, как await резолвит по сути инстенс класса в нужный нам результат?

То есть, почему в resolveString допустим, записывается не объект в котором свойство(result) и два метода(resolve, then), а сразу result?

Из доки только частично понял, что если справа от await не Promise, то оно просто успешно резолвит, то что справа.

Если типом значения является не Promise, значение преобразуется к успешно выполненному Promise.