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

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

29.06.2021, 10:03. Показов 3247. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru