Django 中如何处理带有查询参数的 URL?

2023-04-11 00:00:00 参数 如何处理 带有

在 Django 中处理带有查询参数的 URL 非常简单,只需要在视图函数中使用 request.GET 字典来获取查询参数即可。

以处理形如 "http://pidancode.com/search?q=皮蛋编程" 的 URL 为例,可以在 views.py 中定义如下视图函数:

from django.shortcuts import render

def search(request):
    q = request.GET.get('q', '')  # 获取名为 q 的查询参数,若不存在则默认为空字符串
    return render(request, 'search_result.html', {'query': q})

在模板中可以像这样使用查询参数:

<h1>搜索结果:{{ query }}</h1>

当用户访问 "http://pidancode.com/search?q=皮蛋编程" 时,相应视图函数会把查询参数 'q' 的值 '皮蛋编程' 获取到并传递给模板,最终渲染出的页面会显示“搜索结果:皮蛋编程”。

注意,在获取查询参数时建议使用 request.GET.get() 方法,并为参数指定默认值,以避免出现 KeyError 异常。还应该注意防范跨站脚本攻击(XSS)等安全问题,例如应该对查询参数进行适当的转义或过滤处理。

相关文章