Size: a a a

Django [ru] #STAY HOME

2019 June 24

ОК

Омурбек уулу Кайрат in Django [ru] #STAY HOME
Адилет Асанкожоев
Можно, но нежелательно
😂
источник

U

Unknown in Django [ru] #STAY HOME
djigit0s
@login_required
def taskDelete(request, id, url_redirect):
   if request.method == 'POST':
       task = Task.objects.get(id=id)
       task.delete()
       messages.success(request, f'Task "{task.name}" has been deleted successfully!')
       if url_redirect == 'next7days_url'
           return redirect('next7days_url', permanent=True)
       else:
           return redirect('main_url', permanent=True)
Да. А как собственно аргумент передать?
Прежде я использовал в экшне task.get_delete_url, который написал в модели.

   def get_delete_url(self):
       return reverse('task_delete_url', kwargs={'id': self.id})

Мне стоит отказаться от данного решения и "собирать" ссылку непосредственно в шаблоне? Вопрос, как правильно это сделать?
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Unknown
Да. А как собственно аргумент передать?
Прежде я использовал в экшне task.get_delete_url, который написал в модели.

   def get_delete_url(self):
       return reverse('task_delete_url', kwargs={'id': self.id})

Мне стоит отказаться от данного решения и "собирать" ссылку непосредственно в шаблоне? Вопрос, как правильно это сделать?
Методы для адресов get_absolute_url, get_delete_url это в порядке вещей
источник

U

Unknown in Django [ru] #STAY HOME
Михаил Павлов
Советую названия функции писать по конвенциям pep, то есть task_delete
Почитаю pep.
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Unknown
Почитаю pep.
Лишним не будет
источник

U

Unknown in Django [ru] #STAY HOME
Михаил Павлов
Методы для адресов get_absolute_url, get_delete_url это в порядке вещей
Да. Но теперь нужно 2-й аргумент втулить, для динамического редиректа
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Для программирования на python
источник

d

djigit0s in Django [ru] #STAY HOME
Unknown
Да. А как собственно аргумент передать?
Прежде я использовал в экшне task.get_delete_url, который написал в модели.

   def get_delete_url(self):
       return reverse('task_delete_url', kwargs={'id': self.id})

Мне стоит отказаться от данного решения и "собирать" ссылку непосредственно в шаблоне? Вопрос, как правильно это сделать?
покажи код, где ты вызываешь метод get_delete_url
источник

U

Unknown in Django [ru] #STAY HOME
djigit0s
покажи код, где ты вызываешь метод get_delete_url
https://pastebin.com/uzdY6CFU
кусок кода из шаблона
источник

RL

Ruslan Lloid in Django [ru] #STAY HOME
Добрый день!
Такой вопрос.
Имеется форма с полем hidden.
       <form action="{% url 'pay' %}" method="post" class="form">
           {% csrf_token %}
           <input type="hidden" name="coupon_id_id" value="{{ Coupon.id }}">
           <div class="form__item">
               {{ form.payment_sum }}
           </div>
           <input type="submit" class="submit" value="Купить">
       </form>

Форма почему-то не передает значение поля hidden в метод POST. Все остальное передает.
источник

d

djigit0s in Django [ru] #STAY HOME
Unknown
Да. А как собственно аргумент передать?
Прежде я использовал в экшне task.get_delete_url, который написал в модели.

   def get_delete_url(self):
       return reverse('task_delete_url', kwargs={'id': self.id})

Мне стоит отказаться от данного решения и "собирать" ссылку непосредственно в шаблоне? Вопрос, как правильно это сделать?
можно в шаблоне собрать url. {% url 'url_delete' id=tasl.id url_redirect=url %}
источник

U

Unknown in Django [ru] #STAY HOME
djigit0s
можно в шаблоне собрать url. {% url 'url_delete' id=tasl.id url_redirect=url %}
Уже нагуглил. Но все равно, спасибо)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Ruslan Lloid
Добрый день!
Такой вопрос.
Имеется форма с полем hidden.
       <form action="{% url 'pay' %}" method="post" class="form">
           {% csrf_token %}
           <input type="hidden" name="coupon_id_id" value="{{ Coupon.id }}">
           <div class="form__item">
               {{ form.payment_sum }}
           </div>
           <input type="submit" class="submit" value="Купить">
       </form>

Форма почему-то не передает значение поля hidden в метод POST. Все остальное передает.
А как его получаешь на беке?
источник

RL

Ruslan Lloid in Django [ru] #STAY HOME
Dan Tyan
А как его получаешь на беке?
во view.py функция pay.
Ругается, что не приходит id и нарушается констрейн в базе.
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Ruslan Lloid
во view.py функция pay.
Ругается, что не приходит id и нарушается констрейн в базе.
И я должен применить все свои телепатические способности чтобы понять как?
источник

d

djigit0s in Django [ru] #STAY HOME
😆
источник

d

djigit0s in Django [ru] #STAY HOME
Ruslan Lloid
во view.py функция pay.
Ругается, что не приходит id и нарушается констрейн в базе.
покажи код функции pay
источник

RL

Ruslan Lloid in Django [ru] #STAY HOME
djigit0s
покажи код функции pay
def pay(request):
   if request.method == 'POST':
       form = PaymentForm(request.POST)
       if form.is_valid():
           post = form.save(commit=False)
           post.save()
           return HttpResponseRedirect('http://some_url')
   else:
       error = 'Что-то здесь не так'
   return render(request, {'error': error})
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Ruslan Lloid
def pay(request):
   if request.method == 'POST':
       form = PaymentForm(request.POST)
       if form.is_valid():
           post = form.save(commit=False)
           post.save()
           return HttpResponseRedirect('http://some_url')
   else:
       error = 'Что-то здесь не так'
   return render(request, {'error': error})
И где ты получаешь значение скрытого поля?
источник

RL

Ruslan Lloid in Django [ru] #STAY HOME
Dan Tyan
И где ты получаешь значение скрытого поля?
Он же в POST запросе должен идти вместе со всем остальным.
источник