On Tue, Nov 7, 2017 at 6:28 AM C. Kirby <mist...@gmail.com> wrote:

> 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
>
> On Monday, November 6, 2017 at 2:46:41 PM UTC-5, Ruifeng Hu wrote:
>>
>> Hi All,
>>
>> I am writing a project, on the submit page, a user submits some
>> parameters, then the server side will take a calculation that may take a
>> while, I want to add a waiting page to tall users that it is running on the
>> server. When the result is ready, it will automatically jump to the result
>> page.
>> I do not know what I should do to get these!
>>
>> Is there anyone can help me!
>>
>> Thank You!
>>
>> Best,
>> Ruifeng Hu
>>
> It seems to me that the easiest way to do this is via an Ajax call in
JavaScript.  In my experience channels is very hard to set up.
-- 
-- 

Adam F. Simon, PhD
Calabasas, CA.

cell:      818-425-3719
home:   818-880-8405

Feel free to link w/ me: LinkedIn

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAH-jdcwmGAzDa_1uSAHySxMEpMwf%2BpfGczKtNL6Y0iZFDpMOMg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to