我们可以在视图中创建目录吗? Django的

时间:2017-07-13 18:55:56

标签: python django static directory

我想使用django的视图在静态文件夹中创建/删除目录。有可能吗?

有点像,当我运行django的视图时,我想在静态文件夹中创建一些额外的文件夹...然后在文件夹中进行一些处理,并在以后删除它们

1 个答案:

答案 0 :(得分:2)

您可以使用 os 和/或 shutil 在Django视图中创建/删除目录。

你的views.py将会是这样的 -

import os, shutil, errno
from django.conf import settings

def my_view(request):
    #Getting static folder path from project settings
    static_dir = settings.STATICFILES_DIRS[0]

    #Creating a folder in static directory
    new_dir_path = os.path.join(static_dir, "new_dir")
    try:
        os.makedir(new_dir_path)
    except OSError as e:
        if e.errno != errno.EEXIST:
            #directory already exists
            pass
        else:
            print(e)

    #Removing a directory
    try:
        shutil.rmtree(new_dir_path)
    except OSError, e:
        print(e)

    #do the things you want

注意: os.rmdir(path)也可以删除目录,但前提是它是空的。