Add URL parameter to forms.ModelForm object and pass to html template

Models.py:


class Training_details(models.Model):
    training = models.ForeignKey(Training, on_delete=models.CASCADE)
    description = models.TextField()
    class Meta:
        db_table = 'training_details'

Views.py:

from .models import Training_details


class TrainingDetailsForm(forms.ModelForm):
    class Meta:
        model = Training_details
        fields = ['description']

def add_training_htm(request):
    if 'training_id' in request.GET and request.GET.get('training_id').isdigit():
        form = TrainingDetailsForm()
        return render(request, 'add_training.html', {'form': form})

How to add URL parameter training_id to TrainingDetailsForm() form and pass that to html template? It should be added to fields list right? but can't figure out correct syntax. Any help please?


In the url it should be something like /add_training/?training_id=5, so you can get it via:

return render(request, 'add_training.html', {
    'form': form,
    'training_id': request.GET.get('training_id'),
})

and you can use it in your template using {{ training_id }}.

Вернуться на верх