向forms.ModelForm对象添加URL参数,并将其传递给HTML模板

前端开发 2026-07-07

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})

如何将URL参数 training_id 添加到 TrainingDetailsForm() 表单,并将其传递给HTML模板?它应该被加入到 fields 列表中,对吗?但我还没想出正确的语法。请帮忙?


解决方案

在URL中应该是像 /add_training/?training_id=5 这样的形式,这样就可以通过以下方式获取:

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

你也可以在模板中使用它,使用 {{ training_id }}

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章