使用Python会话在函数间传递变量

0 投票
1 回答
647 浏览
提问于 2025-04-18 17:45

我有几个简单的问题想问一下——

~* 我以前用Java编程的时候,我们会尽量少用会话变量,因为这样会让程序变慢,还会占用不少空间。在Python的Django框架中,当我想在两个函数中访问同一个变量时,我发现可以用request.session('变量名')来解决这个问题。请问还有其他方法可以实现我的需求吗?还是说request.session是唯一的选择?如果request.session真的是唯一的方法,那会话会不会让程序变慢呢?(如果这个问题很简单,我先说声抱歉)

~* 我有一个列表,里面的值需要保存到数据库表中——所以我需要遍历这个列表,实例化模型,最后保存。如果这个列表要遍历100次,那就会向数据库发起100次请求。为了避免这种情况,我现在是这样做的:

for lcc in list_course_content:
   print lcc
   c = Course_Content(TITLE=lcc, COURSE_ID_id=crse.id)
   c.save()

我这样做对吗?还是说还有其他更好的方法?

1 个回答

0

你说你以前减少了在Java中使用会话变量,但你没有说明是怎么做到的。如果在Java中有效,那么在Python中也应该能行。

无论如何,要在不同的请求中使用变量,你必须把这个变量存储在某个地方。编程语言并不重要。在Django中,你可以设置会话的存储方式,可以选择内存存储、文件或者数据库,这完全取决于你。

当然,你也可以在不使用会话的情况下存储变量。

撰写回答