'File upload field doesn't display (Django)

I have a django form, but it's not showing the "upload file" field when I render it on my website. What am I doing wrong? Ideally, the form has a question ID associated with it that's submitted automatically (e.g. it doesn't have to be manually put in by the user when uploading the file)

models.py

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    response_file = models.FileField(upload_to='audio_responses')

forms.py

class PostAudio(forms.ModelForm):
    class Meta:
        model = Choice
        fields = ('response_file',)

views.py

def QuestionRecordSubmitView(request, pk):
    model = Question

    if request.method == 'POST':
        form = PostAudio(request.POST, request.FILES)
        if form.is_valid():
            form.instance.question_id = pk
            form.save()

            # get survey pk
            question_instance = Question.objects.get(pk=pk)
            survey_pk = question_instance.survey.pk
            return redirect('survey-share',pk=survey_pk)
    else:
        form = PostAudio()
    return render(request, 'survey/question_audio_submit.html')

html

{% extends "landing/base.html" %}
{% block content %}

    <h2>New Submission</h2>
    <form method="POST" class="post-form" enctype="multipart/form-data">{% csrf_token %}
        {{ form.as_p }}
        <button type="submit" class="save btn btn-default">Save</button>
    </form>
{% endblock content %}


Solution 1:[1]

def QuestionRecordSubmitView(request, pk): model = Question

if request.method == 'POST':
    form = PostAudio(request.POST, request.FILES)
    if form.is_valid():
        form.instance.question_id = pk
        form.save()

        # get survey pk
        question_instance = Question.objects.get(pk=pk)
        survey_pk = question_instance.survey.pk
        return redirect('survey-share',pk=survey_pk)
else:
    form = PostAudio()
return render(request, 'survey/question_audio_submit.html', {'form':form})

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Tiberio