Пытаюсь передать скрытый параметр в ModelsForm
models.py
class Order(models.Model):
name = models.CharField(max_length=25, verbose_name="Имя*")
phone = models.CharField(max_length= 20, verbose_name="Мобильный телефон*")
email = models.EmailField(max_length=25, verbose_name="Электронная почта*")
text = models.TextField()
urls = models.URLField()
created = models.DateTimeField(auto_now_add = True, auto_now = False)
pay_ok = models.BooleanField(default = False)
train_count = models.CharField()
Вьюха отправляет письмо и создает модель в БД. В письме кроме заполняемых полей содержится url страницы с которой отправлено сообщение. Это все работает. Я хочу этот же url присвоить полю urls из формы, и вот с этим затык. Вот вьюха
views.py
def viewperson(request, slug):
trainer = Trainer.objects.get(slug = slug)
urls = (reverse('trainers:viewperson', args=[slug]))
if request.method == 'POST':
model_form = ModelOrderForm(request.POST)
if model_form.is_valid():
#Begin reCAPTCHA validation
...
...
#End reCAPTCHA validation
subject = "Новый заказ"
phone = model_form.cleaned_data['phone']
name = model_form.cleaned_data['name']
text = model_form.cleaned_data['text']
email = model_form.cleaned_data['email']
recipients = [mail@gmail.com']
message = name + " " + "Тел.:" +" "+ phone + " " + "protrack.by"+urls +" "+ text
if result['success']:
try:
**model_form.cleaned_data['urls']=urls#Вот здесь я пытаюсь передать url cтраницы**
instance = model_form.save()
send_mail(subject, message, email, recipients)
return redirect('thanks_for_order')
except BadHeaderError: #Защита от уязвимости
return HttpResponse('Invalid header found')
else:
messages.error(request, 'Ошибка reCAPTCHA. Попробуйте Снова.')
return redirect('trainers:viewperson' , slug=slug)
else:
#Заполняем форму
model_form = ModelOrderForm()
return render(request, "trainer_person.html", {'trainer':trainer,
'model_form':model_form,})