Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
1 / 1 / 2
Регистрация: 20.03.2019
Сообщений: 264

Как в success_url передать id модели?

29.06.2021, 10:03. Показов 3289. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как в success_url передать id модели Test, чтобы после редактирования вопроса меня перекидывало на страницу test. Я мог бы без встроенного инструмента UpdateView,LoginRequiredMixin обойтись, но там есть такая удобная фича, что при загрузке edit_question в полях написан нынешний вариант поля question и answer. Я мог бы в edit_question перекидыть на страницу, которая не требует id но это не удобно. Прошу помочь мне советом.
models.py
Python
1
2
3
4
5
6
7
8
class Test(models.Model):
    name=models.CharField('Имя теста',max_length=300,null=True,blank=True)
    author=models.ForeignKey(User,on_delete=models.CASCADE,verbose_name='автор')
class Question(models.Model):
    author=models.ForeignKey(User,on_delete=models.CASCADE,verbose_name='автор')
    test=models.ForeignKey(Test,on_delete=models.CASCADE,verbose_name='тест')
    question=models.TextField(verbose_name="Текст вопроса")
    answer=models.TextField(verbose_name="Ответ на вопрос")
urls.py
Python
1
2
3
4
5
6
7
8
from django.contrib import admin
from django.urls import path
from core import views
app_name='core'
urlpatterns = [
    path('test/<int:id>', views.test, name='test'),
    path('test/<int:id>/edit_question/<int:id1>', views.edit_question.as_view(), name='edit_question'),
]
views.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class edit_question(UpdateView,LoginRequiredMixin):
    model = Question
    template_name = 'test.html'
    form_class = QuestionForm
    success_url = 
    #success_url = reverse_lazy(HttpResponseRedirect(reverse('core:test',args=(Test.objects.get(id=id).id,))))
    def get_context_data(self,**kwargs):
        kwargs['update_Q'] =True
        return super().get_context_data(**kwargs)
    def get_form_kwargs(self):
        kwargs = super().get_form_kwargs()
        if self.request.user != kwargs['instance'].author:
            return self.handle_no_permission()
        return kwargs
HTML5
1
2
3
4
5
6
7
{%if update_Q%}
<form method="post" enctype="multipart/form-data" id="update_data">
       {% csrf_token %}
       {{form}}
       </form>
       <button type="submit" form="update_data" class="btn btn-primary">Изменить</button>
{%endif%}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.06.2021, 10:03
Ответы с готовыми решениями:

Как передать коллекцию объектов модели в контроллер
имеется вот такая модель: public class Product { public virtual int Id { get; set; } public...

Как передать экземпляр модели из view в контроллер?
Здравствуйте. Пытаюсь реализовать фильтрацию на представлении. Вот само представление: @model...

Как передать данные из модели в функцию javascript
Суть вопроса: Есть модель в представлении @model TestMeta.Models.Ob у Ob один из параметров NumberOp. В представлении есть кнопка...

5
1 / 1 / 2
Регистрация: 20.03.2019
Сообщений: 264
29.06.2021, 18:40  [ТС]
Может, что-то уточнить?
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
30.06.2021, 06:14
0909-090-, redirect()?
0
1 / 1 / 2
Регистрация: 20.03.2019
Сообщений: 264
30.06.2021, 10:15  [ТС]
Как его лучше совместить UpdateView? Как узнать id и как правильно передать
Python
1
success_url = redirect('core:test',args=(Test.objects.get(id=id,)))
примерно так,но для этого нужно, так
Python
1
class edit_question(UpdateView,LoginRequiredMixin,id):
, но так сделать не получится , из-за UpdateView
0
21 / 12 / 9
Регистрация: 12.02.2020
Сообщений: 126
30.06.2021, 11:38
Цитата Сообщение от 0909-090- Посмотреть сообщение
но так сделать не получится , из-за UpdateView
так не делайте через UpdateView...

Щас все как один пытаются делать через классы...
0909-090-, вы видео курсы какие-то проходили?
0
1 / 1 / 2
Регистрация: 20.03.2019
Сообщений: 264
30.06.2021, 16:14  [ТС]
Цитата Сообщение от Roman020 Посмотреть сообщение
так не делайте через UpdateView...
я писал
Цитата Сообщение от 0909-090- Посмотреть сообщение
Я мог бы без встроенного инструмента UpdateView,LoginRequiredMixin обойтись, но там есть такая удобная фича, что при загрузке edit_question в полях написан нынешний вариант поля question и answer.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.06.2021, 16:14
Помогаю со студенческими работами здесь

Как передать переменную из рабочей области модели в Simulink
Подскажите, пожалуйста, как передать переменную из Workspace в Simulink? У меня сформировано несколько структурированных сигналов, из...

Как из модели в джанго полученной по pk передать параметр в другую функцию
Подскажите пожалуйста есть у меня скрипт подключающийся по телнету к коммутатору import telnetlib import time from pprint import...

Как правильно передать заполненную модель бизнес логике модели представления
Всем привет! Есть задача передать заполненную бизнес модель на модель представления... public ActionResult EditUser(int User_id) ...

Как передать из одного контроллера объект модели в строго типизированное представление другого контроллера
Есть строго типизированное представление в контроллере Main, в методе ListOrders. Как в него можно передать модель, класса Customer из...

Не удается передать модель внутри модели
Доброго времени суток. Помогите, пожалуйста. Создал сложную модель, которая, помимо полей Id и Name включает в себя ещё одну...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru