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

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

53 ответов

138 просмотров

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

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

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта