[Solved] Django URL pattern (~~/?item_id=2)


You can pass parameters to a view either in the url:

/category_check_view/2

Or via GET params:

/category_check_view/?item_id=2

GET params are not processed by the URL handler, but rather passed directly to the GET param dict accessible in a view at request.GET.

The Django (i.e. preferred) way to do handle URLs is the first one. So you would have a URL conf:

(r'^category_check_view/(\d{4})$', 'proj.app.your_view'),

And a matching view:

def your_view(request, id):
    obj = Obj.objects.get(id=id)
    # ...

However, if you insist on passing the param via GET you would just do:

(r'^category_check_view$', 'proj.app.your_view'),

And:

def your_view(request):
    id = request.GET.get('item_id')
    obj = Obj.objects.get(id=id)
    # ...

solved Django URL pattern (~~/?item_id=2)