django 重定向,并传输参数到html
时间: 2024-11-23 09:39:31 浏览: 9
浅谈在django中使用redirect重定向数据传输的问题
Django中的重定向(Redirect)是一种常用的技术,它用于改变用户请求的URL并发送他们到新的页面。在Django中,主要有两种重定向方法:
1. `HttpResponseRedirect`:这是最常用的重定向方法,通过调用`django.shortcuts.redirect()`函数,可以传递两个参数:第一个是要重定向的URL,第二个是可选的查询字符串参数字典,这些参数会被附加到新的URL后面。
示例:
```python
from django.shortcuts import redirect
def my_view(request):
new_url = '/new-page/'
params = {'param1': 'value1', 'param2': 'value2'}
return redirect(new_url, params)
```
当访问这个视图,浏览器会跳转到`/new-page/?param1=value1¶m2=value2`。
2. `reverse`和`redirect`结合:如果需要动态生成URL并传递参数,可以先使用`reverse()`获取URL名称,然后传递给`redirect()`。
示例:
```python
url_name = 'my_view_name'
params = {'param1': 'value1', 'param2': 'value2'}
return redirect(reverse(url_name), params)
```
访问这样的链接时,也会把参数添加到URL上。
阅读全文