Просто добавить метод с их названиями, не ?
Не проканало
Значит темплейтВью не поддерживает такое вскорее всего, используйте другой класс или вообще просто View если пишешь свою логику, темплейтВью по названию дает тебе понять что просто отобразить
ровно так и делаешь - как написал в атрибуты, только вот зачем тебе пост в темплейт вью не понятно, скорее всего какой-то другой дженерик подойдет
Этот атрибут ни для TemplateView не подходит, ни для View 😔
что значит не подходит?
если посмотришь в код View там будет http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'] TemplateView это же наследует от View
Это значит, что я его и к TemplateView применил - не сработало, и к View - также
вот сам как думаешь это дало мне больше информации? что значит не сработало? может быть ты просто не понимаешь как оно работает и поэтому не получаешь ожидаемого результата?
Я этого не исключаю конечно, но в документации вроде сказано, что просто добавить и всё
добавить для чего?
Для того, чтобы на главной странице сайта отображались данные, переданные POST-формой
нет, все не так
А как всё?
это просто список допустимых методов, если ты обращаешься с методом которого нет в этом списке будет ошибка, что метод не разрешен, но даже если будет в этом списке, но у тебя не будет соответствующего метода будет та же ошибка
То есть, ещё и функция какая-то нужна?
если у тебя создание то смотри в сторону CreateView
Список имен методов HTTP, которые будет принимать это представление. - так сказанно в доки, значит это те методы которые смогут обращаться к этому ендпойнту
Нет, у меня POST-форма должна направить пользователя на главную страницу
ты redirect добавил к форме ?
а помимо этого что-то делать должна?
Нет, просто вместо одной части боковой панели должна показать другую - с приветствием авторизованного пользователя
то есть она должна авторизовать пользователя?
Нет, в том образце не было редиректа
да
1 для этого уже есть готовое решение в джанге 2 тебе нужно научится задавать вопросы и в целом формулировать мысль, никому не нужно вот так тянуть из тебя необходимый тебе функционал
https://ccbv.co.uk/projects/Django/3.1/django.contrib.auth.views/LoginView/ в целом поизучай сайт чтобы понимать о чем вопросы задаешь
Вауу, какая ляпота, годно) + сохранил
для дрф такое же есть https://www.cdrf.co
Стикер
Так, redirect также перенаправит меня на главную страницу через тот же TemplateView
Смотря какой урл нэйм ввел внутрь редиректа)
Ну тот же будет, от главной страницы
Тогда просто redirect('название-урла-главной-страницы') или пустым оставь
Проблема отчасти решилась, но мне кажется, что то, что у меня получилось - это не есть отправка формы: я во вьюху добавил redirect, а action оставил пустым. Только в этом случае получается перенаправление на главную страницу. Но форма не направляется в Главную страницу, иначе бы у меня вот этот блок кода: https://dpaste.org/uDNn сработал
action в твоём случае нужно оставлять пустым ибо запрос отправляет на страницу на которой же находится сама форма
А форма авторизации же у меня так не попадает на главную страницу
@DiZiNnEs Ну так, как с этим быть?
@garrip91 я же тебе уже ответил
Ну так, форма авторизации не поступает на главную страницу. А она у меня заполняется в другом шаблоне
action="{% url 'название_урла_главной_страницы %}'
Альтернативы никакой нет? Я так уже делал и это вызывало у меня ошибку, так как TemplateView не поддерживает POST. И Вы мне, кстати, тоже писали, что в моём случае лучше редирект (или что-то типа того)
action='/' вот мб или просто action=''
У меня action пустой как раз
Ты сверху сказал TemplateView не поддерживает POST, значит форма с отрпавкой данных никак не заработает, ты писал метод def post() ?
А как быть мне в такой ситуации?
Заменить чертов TemplateView
На что?
FormView, LoginView
Так, класс, наследуемый от TemplateView, у меня ответчает за всю главную страницу сайта
сверху формВЬю и логинВью тоже могут страницу отображать
Как понять "сверху"?
FormView, LoginView
Обсуждают сегодня