You have two choices. One would be to use the relatively new Channels feature, which allows you to keep a communication stream open so that you would have the processing page show until the sever notified the client that it was done and sent the data. I've not worked with Channels much, so if you have questions about that you can follow up to this list.
The other option is to have a model that stores the result of the calculation. Example
class CalcResult(models.Model):
result = models.IntegerField(blank=True, null=True)
When the user submits the parameters you would create a new instance of this class:
current_calc = CalcResult.objects.create()
Now that you have that object you can pass the pk back to your processing view. Inside the processing view you can use javascript to poll the server with a view that checks if the pk has a result yet. when it gets a result you load the page that shows the result.
Be aware that you cannot do this in the standard request/response cycle. When you send a response the interaction is done. In order to have your long running calculation work while the client is interacting with the system via a processing page you will need to use something like Celery or django-rq to offload the long running calculation.
Hope this helps,
Kirby