Visitor : 237

Read Comments

URL Parameters in GET Request

Django Concept


Parameters in the URL are very useful for simple activates like search , filter and sorting. Even though in Django this can be managed using URL config , the simplest option would be to read the URL parameters in a GET call and process the requirements. In this article explains how sort can be achieved using URL parameters in a GET call.

Sorting columns in a table is a simple requirement in most of the projects. This can be achieved using URL config in Django using

from django.urls import path

from . import views

urlpatterns = [

    path('articles/<sort_key>/', views.article_detail),
]

The other option would be read the GET parameter in the view.

def consolidated_portfolio_analysis(request):
    z = cache.get('sort_order')
    zsort = request.GET.get('sort_by','ztrades')
    if not(z) :
        cache.set('sort_order','D',900)   
        zsort = '-' + zsort 
    elif z == 'D':
        cache.set('sort_order','A',900) 
        zsort = zsort
    elif z == 'A':
        zsort = '-' + zsort 
        cache.set('sort_order','D',900)
    
    
 zresut = articles.objects.all().order_by(zsort,)
    return render (request,'equity/Equity_Report_Consolidated.html',{'obj_equity':zresult})

I have included a DB Cache object to capture the sorting order. So when the user clicks the column multiple times , the query set is sorted in ascending and descending  alternatively.

The url would look like

http://192.16x.xx.xx:8000/equity/consolidated_portfolio_analysis/?sort_by=zxirr_min

sort_by parameter is extracted in the view of the GET call and processed accordingly.

The syntax would be 

request.GET.get('<key in url>','<default value>')

 




Add Comments