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

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

29.06.2021, 10:03. Показов 3295. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru