如何在页面功能之外访问myvar。当我在页面函数中打印(myvar)时,我可以打印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)
由于
答案 0 :(得分:0)
您需要在此处考虑请求/响应周期。正如我在评论中所说的那样,即使Python范围规则允许这样做,你的功能会怎样?请求已结束并已返回。
如果你需要这个,你必须自己在视图中调用该函数,并将值传递给它。
答案 1 :(得分:-1)
你不能。您应该阅读https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pasting-javascript/
如果你坚持这样做,你必须使用全球myvar
。沿着这些方向的东西
myvar = None
def myfn(args):
global myvar
myvar = "z"
print myvar
虽然这不可取。
此外,print(myvar)
语句只会在导入模块时运行一次,因此很可能不会做你想做的事。