Django URL模式(~~ /?item_id = 2)

use*_*881 -3 django url

HTTPS:// XXXX/category_check_view/ITEM_ID = 2

以上是URL模式的示例.我应该如何配置我的URL以使其能够重定向到正确的视图?到目前为止,我似乎正在使用这个https:// xxxx/category_check_view/2 /这样的网址.

Yuv*_*dam 5

您可以在url中将参数传递给视图:

/category_check_view/2
Run Code Online (Sandbox Code Playgroud)

或通过GET参数:

/category_check_view/?item_id=2
Run Code Online (Sandbox Code Playgroud)

GETparams不由URL处理程序处理,而是直接传递给GET在视图中可访问的param dict request.GET.

Django(即首选)处理URL的方法是第一种.所以你会有一个URL conf:

(r'^category_check_view/(\d{4})$', 'proj.app.your_view'),
Run Code Online (Sandbox Code Playgroud)

和匹配的视图:

def your_view(request, id):
    obj = Obj.objects.get(id=id)
    # ...
Run Code Online (Sandbox Code Playgroud)

但是,如果你坚持通过param,GET你会这么做:

(r'^category_check_view$', 'proj.app.your_view'),
Run Code Online (Sandbox Code Playgroud)

和:

def your_view(request):
    id = request.GET.get('item_id')
    obj = Obj.objects.get(id=id)
    # ...
Run Code Online (Sandbox Code Playgroud)