一個 CharField ,內容只限於文件系統內特定目錄下的文件名。有三個參數, 其中第一個是 必需的:
-
FilePathField.
path
-
必填。這個FilePathField 應該得到其選擇的目錄的絕對文件系統路徑。例如: "/home/images".
-
FilePathField.
match
-
可選的.FilePathField 將會作為一個正則表達式來匹配文件名。但請注意正則表達式將將被作用於基本文件名,而不是完整路徑。例如: "foo.*.txt$", 將會匹配到一個名叫 foo23.txt 的文件,但不匹配到 bar.txt 或者 foo23.png.
-
FilePathField.
recursive
-
可選的.True 或 False.默認是False.聲明是否包含所有子目錄的路徑
-
FilePathField.
allow_files
-
可選的.True 或 False.默認是True.聲明是否包含指定位置的文件。該參數或allow_folders 中必須有一個為 True.
-
FilePathField.
allow_folders
-
是可選的.輸入 True 或者 False.默認值為 False.聲明是否包含指定位置的文件夾。該參數或 allow_files 中必須有一個為 True.
當然,這些參數可以同時使用。
有一點需要提醒的是 match只匹配基本文件名(base filename), 而不是整個文件路徑(full path). 例如:
FilePathField(path="/home/images", match="foo.*", recursive=True)
...將匹配/home/images/foo.png而不是/home/images/foo/bar.png 因為只允許匹配 基本文件名(foo.png 和 bar.png).
FilePathField實例被創建在您的數據庫為varchar列默認最大長度為 100 個字符。作為與其他字段,您可以更改使用的max_length最大長度。