现在我在Django中使用基于文件的会话来保存数据。
SESSION_ENGINE = "django.contrib.sessions.backends.file"
根据文档django将数据保存在其中/tmp
,但是我不知道它的实际路径是什么/tmp
!这是我项目中的目录吗?
我认为您看错了文档,文档[Django-doc]说:
您可能还需要设置
SESSION_FILE_PATH
设置(默认为tempfile.gettempdir()
,从中输出/tmp
),以控制Django存储会话文件的位置。确保检查您的Web服务器是否具有读写该位置的权限。
如果我们查看tempfile.gettempdir()
[Python-doc]上的文档,则会得到:
返回用于临时文件的目录的名称。这定义了该模块中所有函数的dir参数的默认值。
Python搜索标准目录列表,以找到调用者可以在其中创建文件的目录。该列表为:
- 由
TMPDIR
环境变量命名的目录。- 由
TEMP
环境变量命名的目录。- 由
TMP
环境变量命名的目录。特定于平台的位置:
- 在Windows中,目录
C:\TEMP
,C:\TMP
,\TEMP
,并\TMP
按此顺序。- 在所有其他平台,目录
/tmp
,/var/tmp
以及/usr/tmp
在这个顺序。不得已时,使用当前工作目录。
该搜索结果被缓存,请参见
tempdir
下面的描述。
因此,尽管在基于Unix的系统(Linux,BSD,Mac OS X等)上,它将存储在中/tmp
,具体取决于操作系统。
对于基于Unix的文件系统,如果/
前面有斜杠(),则表示绝对路径,因此它是文件系统根tmp
目录中的目录。有关Unix文件路径的更多信息,请参见本文[geeksforgeeks]。
但是,如果将设置SESSION_FILE_PATH
为特定路径,则将使用该路径。
请注意,临时文件是临时文件。通常,你应该不认为重新启动后,这些文件仍然存在。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句