如何在page函数之外访问myvar?当page函数内部有print(myvar)时,我可以打印myvar,但当它在page函数外部时,我就不能打印myvar了。
def page(request):
form = MyForm(request.POST or None)
if form.is_valid():
instance = form.save(commit=False)
myvar = form.cleaned_data.get("myvar")
# myvar is printed here
print(myvar)
if not myvar:
myvar = "this"
instance.myvar= myvar
instance.save()
context = {
"form" : form
}
return render(request, "home.html", context)
# I want to print the contents of myvar but it doesn't work here
print(myvar)
谢啦,谢啦
3条答案
按热度按时间0yg35tkg1#
这里你需要考虑一下请求/响应循环。正如我在评论中所说的,即使Python作用域规则允许这样做,什么会调用你的函数呢?请求结束了,已经返回了。
如果需要,您必须自己从视图内部调用该函数,并将值传递给它。
cvxl0en22#
从django. http://shortcuts导入渲染从django.http导入请求
在此处创建视图。
延迟主页(请求):return render(request,'home.html',{“name”:“箱涵结构分析设计和详图工具”})
num 1 =请求。GET ['h'] num 2 =请求。GET ['ts']
定义添加(编号1,编号2):
lfapxunr3#
你不能。你应该阅读Python作用域规则
如果您坚持这样做,就必须使用全局
myvar
。尽管这是不可取的。
此外,
print(myvar)
语句在导入模块时只运行一次,因此很可能不会执行您想要的操作。