On Tue, Mar 13, 2012 at 4:25 PM, Furbee <furbeena...@gmail.com> wrote: > Aha! Very nice. As a sidebar, you said you pass the filter string back to > the template so it can apply filtering on the new data set. This makes me > think that filtering is being done on the entire data set from the browser, > instead of the server. Maybe I misunderstood, but if so, I would suggest > filtering the data on Django's end and simply returning the filtered > QuerySet. This may make the page load faster and would be scalable for > larger lists where lots of records are being filtered by the client browser.
On the web page the user enters some selection criteria and clicks a button. Then on the server side a db query is run and just some number of rows are sent to back to the client (a subset of the full result set). Then they can winnow down that subset of data using the live filtering field. As they type or delete from that field the data they see changes accordingly. The web page has links to get the next or previous page of data. That goes back to the server for the next subset and the page gets redrawn. But they wanted the filter text the user had entered before clicking on next or prev to be applied to the new page of data. > > > On Tue, Mar 13, 2012 at 3:01 PM, Larry Martell <larry.mart...@gmail.com> > wrote: >> >> On Tue, Mar 13, 2012 at 3:53 PM, Furbee <furbeena...@gmail.com> wrote: >> > Gotcha, I was unclear. You can have jQuery modify the URL without >> > actually >> > requesting the page from the webserver, I thought that was what you >> > meant. >> > This comes in handy when you want to use javascript to update the URL >> > without requesting a new page from the server in case the user hits F5 >> > or >> > refreshes the page, it will request the updated URL instead of the >> > original. >> > >> > So, you can do this as you mentioned, or you can parse the request.GET >> > dictionary and return them as variables to the template from the view. >> >> There's a 'live filtering' function on the page. It's text field with >> a keyup event handler. Each time the field gets updated the data >> currently on the screen is filtered, and the URL is updated to include >> the current filter string so that when the user pages forward or >> backwards through the data (which is a return back to the server), the >> filter string can get passed back into the template so it can apply >> the filtering on the new data set >> >> >> > On Tue, Mar 13, 2012 at 2:42 PM, Larry Martell <larry.mart...@gmail.com> >> > wrote: >> >> >> >> On Tue, Mar 13, 2012 at 3:33 PM, Furbee <furbeena...@gmail.com> wrote: >> >> > Good deal, but if you send the page to the client, then jQuery >> >> > updates >> >> > the >> >> > URL, the {{ request.get_full_path }} is still only able to have the >> >> > original >> >> > URL that was requested. Once the page is sent to the client, >> >> > Django/Python >> >> > is done and cannot manipulate the page, unless you are using AJAX to >> >> > get >> >> > updated details. >> >> >> >> When the URL that gets updated by jQuery is clicked on, it goes back >> >> to Django/Python and the {{ request.get_full_path }} gets updated. >> >> >> >> >> >> > On Tue, Mar 13, 2012 at 2:23 PM, Larry Martell >> >> > <larry.mart...@gmail.com> >> >> > wrote: >> >> >> >> >> >> On Tue, Mar 13, 2012 at 2:19 PM, Furbee <furbeena...@gmail.com> >> >> >> wrote: >> >> >> > Hi Larry, >> >> >> > >> >> >> > render_to_response is one of many ways to return an HttpResponse >> >> >> > to >> >> >> > send >> >> >> > to >> >> >> > the client. Wherever your view does the return, you can pass these >> >> >> > GET >> >> >> > variables. >> >> >> > >> >> >> > However, if they are being generated by jQuery, dynamically, you >> >> >> > should >> >> >> > be >> >> >> > using jQuery/javascript to read them and deal with them. This >> >> >> > should >> >> >> > be >> >> >> > client side javascript code. To read the current URL string in >> >> >> > jQuery, I >> >> >> > found a nice little article >> >> >> > >> >> >> > >> >> >> > >> >> >> > at http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html which >> >> >> > should demonstrate how to get these in javascript on the >> >> >> > client-side >> >> >> > browser. >> >> >> >> >> >> I was able to get the entire URL with {{ request.get_full_path }} >> >> >> >> >> >> But thanks for the link - looks like it could be very useful in the >> >> >> future. >> >> >> >> >> >> >> >> >> > On Tue, Mar 13, 2012 at 11:57 AM, Larry Martell >> >> >> > <larry.mart...@gmail.com> >> >> >> > wrote: >> >> >> >> >> >> >> >> On Tue, Mar 13, 2012 at 12:38 PM, Furbee <furbeena...@gmail.com> >> >> >> >> wrote: >> >> >> >> > I think you want to actually get these in the view code and >> >> >> >> > pass >> >> >> >> > them >> >> >> >> > to >> >> >> >> > the >> >> >> >> > template as named variables. For example: >> >> >> >> > >> >> >> >> > return render_to_response('page.htm', >> >> >> >> > {'date_time': request.GET['date_time'], 'submit_preview': >> >> >> >> > request.GET['submit_preview'], 'event_type': >> >> >> >> > request.GET['event_type'], >> >> >> >> > 'filterValue': >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > request.GET['_filterValue']}, context_instance=RequestContext(request)) >> >> >> >> > >> >> >> >> > From the template, now, the different variables are available. >> >> >> >> > {{ >> >> >> >> > date_time >> >> >> >> > }}, {{ submit_preview }}, {{ event_type }}, {{ filterValue }}. >> >> >> >> > That's >> >> >> >> > how I >> >> >> >> > would handle it at least. >> >> >> >> >> >> >> >> The URL gets created dynamically by jQuery code in a template. >> >> >> >> Not >> >> >> >> all >> >> >> >> these fields are always present. Also, render_to_response is not >> >> >> >> used. >> >> >> >> (I'm >> >> >> >> fairly new to both django and this job, and I just grepped >> >> >> >> through >> >> >> >> the >> >> >> >> entire code base and it wasn't found.) >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> > Furbee >> >> >> >> > >> >> >> >> > On Tue, Mar 13, 2012 at 11:27 AM, Larry Martell >> >> >> >> > <larry.mart...@gmail.com> >> >> >> >> > wrote: >> >> >> >> >> >> >> >> >> >> On Tue, Mar 13, 2012 at 11:58 AM, Xavier Ordoquy >> >> >> >> >> <xordo...@linovia.com> >> >> >> >> >> wrote: >> >> >> >> >> > >> >> >> >> >> > Le 13 mars 2012 à 18:40, Larry Martell a écrit : >> >> >> >> >> > >> >> >> >> >> >> On Tue, Mar 13, 2012 at 11:26 AM, Xavier Ordoquy >> >> >> >> >> >> <xordo...@linovia.com> >> >> >> >> >> >> wrote: >> >> >> >> >> >>> Hi >> >> >> >> >> >>> >> >> >> >> >> >>> Le 13 mars 2012 à 18:11, larry.mart...@gmail.com a écrit : >> >> >> >> >> >>> >> >> >> >> >> >>>> From within a template can I find out the URL that caused >> >> >> >> >> >>>> the >> >> >> >> >> >>>> template >> >> >> >> >> >>>> to be invoked? >> >> >> >> >> >>> >> >> >> >> >> >>> You usually should have the request object in your >> >> >> >> >> >>> template. >> >> >> >> >> >>> See >> >> >> >> >> >>> >> >> >> >> >> >>> >> >> >> >> >> >>> >> >> >> >> >> >>> >> >> >> >> >> >>> https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.path >> >> >> >> >> >>> to get the url. >> >> >> >> >> >>> >> >> >> >> >> >> >> >> >> >> >> >> But how do I access that in the template? I tried >> >> >> >> >> >> HttpRequest.path >> >> >> >> >> >> and >> >> >> >> >> >> {{ HttpRequest.path }} and neither gives me the URL. >> >> >> >> >> > >> >> >> >> >> > {{ request.path }} >> >> >> >> >> > just make sure you have RequestContext if you use >> >> >> >> >> > render_to_response. >> >> >> >> >> >> >> >> >> >> This is displaying a path, but not the URL I need. It gives >> >> >> >> >> /report//EventsTable/ when the URL that's clicked on is: >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> http://127.0.0.1/report/EventsTable/?date_time=3y&submit_preview=Generate+Report&event_type=RecipeCreated&_filterValue=dev >> >> >> >> >> >> >> >> >> >> I'm after all the arguments. Is there a way to get them? >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> >> You received this message because you are subscribed to the >> >> >> >> >> Google >> >> >> >> >> Groups >> >> >> >> >> "Django users" group. >> >> >> >> >> To post to this group, send email to >> >> >> >> >> django-users@googlegroups.com. >> >> >> >> >> To unsubscribe from this group, send email to >> >> >> >> >> django-users+unsubscr...@googlegroups.com. >> >> >> >> >> For more options, visit this group at >> >> >> >> >> http://groups.google.com/group/django-users?hl=en. >> >> >> >> >> >> >> >> >> > >> >> >> >> > -- >> >> >> >> > You received this message because you are subscribed to the >> >> >> >> > Google >> >> >> >> > Groups >> >> >> >> > "Django users" group. >> >> >> >> > To post to this group, send email to >> >> >> >> > django-users@googlegroups.com. >> >> >> >> > To unsubscribe from this group, send email to >> >> >> >> > django-users+unsubscr...@googlegroups.com. >> >> >> >> > For more options, visit this group at >> >> >> >> > http://groups.google.com/group/django-users?hl=en. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> Sent from my iPhone >> >> >> >> >> >> >> >> -- >> >> >> >> You received this message because you are subscribed to the >> >> >> >> Google >> >> >> >> Groups >> >> >> >> "Django users" group. >> >> >> >> To post to this group, send email to >> >> >> >> django-users@googlegroups.com. >> >> >> >> To unsubscribe from this group, send email to >> >> >> >> django-users+unsubscr...@googlegroups.com. >> >> >> >> For more options, visit this group at >> >> >> >> http://groups.google.com/group/django-users?hl=en. >> >> >> > >> >> >> > >> >> >> > -- >> >> >> > You received this message because you are subscribed to the Google >> >> >> > Groups >> >> >> > "Django users" group. >> >> >> > To post to this group, send email to >> >> >> > django-users@googlegroups.com. >> >> >> > To unsubscribe from this group, send email to >> >> >> > django-users+unsubscr...@googlegroups.com. >> >> >> > For more options, visit this group at >> >> >> > http://groups.google.com/group/django-users?hl=en. >> >> >> >> >> >> -- >> >> >> You received this message because you are subscribed to the Google >> >> >> Groups >> >> >> "Django users" group. >> >> >> To post to this group, send email to django-users@googlegroups.com. >> >> >> To unsubscribe from this group, send email to >> >> >> django-users+unsubscr...@googlegroups.com. >> >> >> For more options, visit this group at >> >> >> http://groups.google.com/group/django-users?hl=en. >> >> >> >> >> > >> >> > -- >> >> > You received this message because you are subscribed to the Google >> >> > Groups >> >> > "Django users" group. >> >> > To post to this group, send email to django-users@googlegroups.com. >> >> > To unsubscribe from this group, send email to >> >> > django-users+unsubscr...@googlegroups.com. >> >> > For more options, visit this group at >> >> > http://groups.google.com/group/django-users?hl=en. >> >> >> >> -- >> >> You received this message because you are subscribed to the Google >> >> Groups >> >> "Django users" group. >> >> To post to this group, send email to django-users@googlegroups.com. >> >> To unsubscribe from this group, send email to >> >> django-users+unsubscr...@googlegroups.com. >> >> For more options, visit this group at >> >> http://groups.google.com/group/django-users?hl=en. >> >> >> > >> > -- >> > You received this message because you are subscribed to the Google >> > Groups >> > "Django users" group. >> > To post to this group, send email to django-users@googlegroups.com. >> > To unsubscribe from this group, send email to >> > django-users+unsubscr...@googlegroups.com. >> > For more options, visit this group at >> > http://groups.google.com/group/django-users?hl=en. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To post to this group, send email to django-users@googlegroups.com. >> To unsubscribe from this group, send email to >> django-users+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/django-users?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.