170 похожих чатов

Как в TemplateView передать http_method_names = ['get', 'post']?

53 ответов

73 просмотра

Просто добавить метод с их названиями, не ?

garrip91- Автор вопроса

Не проканало

Значит темплейтВью не поддерживает такое вскорее всего, используйте другой класс или вообще просто View если пишешь свою логику, темплейтВью по названию дает тебе понять что просто отобразить

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

garrip91- Автор вопроса

Этот атрибут ни для TemplateView не подходит, ни для View 😔

что значит не подходит?

если посмотришь в код View там будет http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'] TemplateView это же наследует от View

garrip91- Автор вопроса

Это значит, что я его и к TemplateView применил - не сработало, и к View - также

вот сам как думаешь это дало мне больше информации? что значит не сработало? может быть ты просто не понимаешь как оно работает и поэтому не получаешь ожидаемого результата?

garrip91- Автор вопроса

Я этого не исключаю конечно, но в документации вроде сказано, что просто добавить и всё

добавить для чего?

garrip91- Автор вопроса

Для того, чтобы на главной странице сайта отображались данные, переданные POST-формой

нет, все не так

garrip91- Автор вопроса

А как всё?

это просто список допустимых методов, если ты обращаешься с методом которого нет в этом списке будет ошибка, что метод не разрешен, но даже если будет в этом списке, но у тебя не будет соответствующего метода будет та же ошибка

garrip91- Автор вопроса

То есть, ещё и функция какая-то нужна?

если у тебя создание то смотри в сторону CreateView

Список имен методов HTTP, которые будет принимать это представление. - так сказанно в доки, значит это те методы которые смогут обращаться к этому ендпойнту

garrip91- Автор вопроса

Нет, у меня POST-форма должна направить пользователя на главную страницу

ты redirect добавил к форме ?

а помимо этого что-то делать должна?

garrip91- Автор вопроса

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

то есть она должна авторизовать пользователя?

garrip91- Автор вопроса

Нет, в том образце не было редиректа

garrip91- Автор вопроса

да

1 для этого уже есть готовое решение в джанге 2 тебе нужно научится задавать вопросы и в целом формулировать мысль, никому не нужно вот так тянуть из тебя необходимый тебе функционал

https://ccbv.co.uk/projects/Django/3.1/django.contrib.auth.views/LoginView/ в целом поизучай сайт чтобы понимать о чем вопросы задаешь

Вауу, какая ляпота, годно) + сохранил

для дрф такое же есть https://www.cdrf.co

Стикер

garrip91- Автор вопроса

Так, redirect также перенаправит меня на главную страницу через тот же TemplateView

Смотря какой урл нэйм ввел внутрь редиректа)

garrip91- Автор вопроса

Ну тот же будет, от главной страницы

Тогда просто redirect('название-урла-главной-страницы') или пустым оставь

garrip91- Автор вопроса

Проблема отчасти решилась, но мне кажется, что то, что у меня получилось - это не есть отправка формы: я во вьюху добавил redirect, а action оставил пустым. Только в этом случае получается перенаправление на главную страницу. Но форма не направляется в Главную страницу, иначе бы у меня вот этот блок кода: https://dpaste.org/uDNn сработал

action в твоём случае нужно оставлять пустым ибо запрос отправляет на страницу на которой же находится сама форма

garrip91- Автор вопроса

А форма авторизации же у меня так не попадает на главную страницу

garrip91- Автор вопроса

@DiZiNnEs Ну так, как с этим быть?

@garrip91 я же тебе уже ответил

garrip91- Автор вопроса

Ну так, форма авторизации не поступает на главную страницу. А она у меня заполняется в другом шаблоне

action="{% url 'название_урла_главной_страницы %}'

garrip91- Автор вопроса

Альтернативы никакой нет? Я так уже делал и это вызывало у меня ошибку, так как TemplateView не поддерживает POST. И Вы мне, кстати, тоже писали, что в моём случае лучше редирект (или что-то типа того)

action='/' вот мб или просто action=''

garrip91- Автор вопроса

У меня action пустой как раз

Ты сверху сказал TemplateView не поддерживает POST, значит форма с отрпавкой данных никак не заработает, ты писал метод def post() ?

garrip91- Автор вопроса

А как быть мне в такой ситуации?

Заменить чертов TemplateView

garrip91- Автор вопроса

На что?

FormView, LoginView

garrip91- Автор вопроса

Так, класс, наследуемый от TemplateView, у меня ответчает за всю главную страницу сайта

сверху формВЬю и логинВью тоже могут страницу отображать

garrip91- Автор вопроса

Как понять "сверху"?

FormView, LoginView

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Какой дос блять?
007
9
lazarus-3.2.0/gtk, linux патч "имя проекта по умолчанию project1 -> prj" день добрый не нравится "именя проекта по умолчанию" (project1), к.раз приходится переименовывать (н...
livontiy
5
Коллеги, а в чём сейчас хорошо писать на перле, в смысле ide? Пробовал в идее с плагином, подсветка есть, даже какие-то предупреждения есть, но рефакторинга считай нет. Перене...
Дмитрий Петров
9
Карта сайта