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

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

53 ответов

143 просмотра

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта