python3.7+django2.2传参并渲染到页面

网上的答案五花八门,虽然说都没有实际作用,但至少让我明白了一点,django传参的参数必须转化成字典形式,这也是网上说的最多的{‘param’:‘param’}这样的格式再输出。用代码表示就是

from django.shortcuts import render

from django.http import HttpResponse
def list(request,param):
    param1=HttpResponse(param)
    return render(request, "edit.html",{'param':param1})

但是这样显示的结果为

如果直接return param1 结果是对的,但是这个通过url获取的参数要怎么渲染到页面?显然不合乎我的需求。

locals()函数帮助我解决了这个问题

locals() 函数会以字典类型返回当前位置的全部局部变量。

所以上面的代码改写为

from django.shortcuts import render

def list(request,param):
    return render(request, "edit.html",locals())

就可以在渲染的页面上使用我们想要的参数了。

你可能感兴趣的:(python)