Вместо использования формы, я приведу простой пример, использующий более простой подход.Вам нужно что-то вроде этого:
views.py
class SendMessageView(View):
def post(self, request, *args, **kwargs):
receiver_id = request.POST.get('receiver_id', '')
file = request.FILES.get('file', '')
Message.objects.create(sender=request.user, receiver__id=receiver_id, message_file=file)
return render(request, 'success.html', {})
urls.py
path('message/send/', views.SendMessageView.as_view(), name="send_message")
html
<form action="{% url 'send_message' %}" method="post">
{% csrf_token %}
<input type="hidden" name="receiver_id" value="{{ receiver.id }}" />
<input type="file" name="file" />
</form>