reverse()传递参数

  1. 在进行url反转的时候传递参数
    如果在反转url的时候,需要添加参数,那么可以传递“kwargs”参数到“reverse函数中”,
    在进行访问首页的时候,如果没有传递进来用户名,就返回文章列表页,在以上视图函数中可以进行这样的修改。urls.py文件中不用改动。示例代码如下:
def index(request):
    username = request.GET.get("username")
    if username:
        return HttpResponse("首页")
    else:
        """ 
        此时,如果不加上kwargs参数的话,反转得到的url就会缺少传输的参数
        而kwargs:keywords arguments,关键字参数。就是XXX = xxx的形式,可以用字典表示。
        """
        article_url = reverse("detail",kwargs={'article_id':3})
        return redirect(article_url)
  1. reverse()函数进行反转的时候,添加查询字符串的参数。
    如果想要添加查询字符串的参数,则必须进行手动的进行拼接,示例代码如下:
def index(request):
    username = request.GET.get("username")
    if username:
        return HttpResponse("首页")
    else:
        """
        在django中,reverse()函数,并没有识别传来的请求时get请求,还是post请求
        通过手动的添加字符串,使url进行拼接
        其中,?next 表示的接下来要跳转的页面
        """
        login_url = reverse("login") + "?next=/"
        return redirect(login_url)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容