Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django中,为用户上传的项目生成随机URL的正确方法是什么?_Python_Django_Url - Fatal编程技术网

Python 在Django中,为用户上传的项目生成随机URL的正确方法是什么?

Python 在Django中,为用户上传的项目生成随机URL的正确方法是什么?,python,django,url,Python,Django,Url,例如,将gif上传到gfycat会以形容词-形容词-名词的形式生成URL,例如ForkedTestyRabbit 显然,转到此URL可以查看上载的模型实例 因此,我认为上传后会生成一个独特的随机URL,例如/uploads/PurpleSmellyGiraffe。该模型将有一列作为自定义URL部分,即PurpleSmellyGiraffe,然后在URL.py中,我们有任何内容/uploads/*将选择具有该URL的相应模型。然而,我不确定这是否是最佳实践 我可以得到一些关于如何实现这一点的反馈/

例如,将gif上传到gfycat会以形容词-形容词-名词的形式生成URL,例如ForkedTestyRabbit

显然,转到此URL可以查看上载的模型实例

因此,我认为上传后会生成一个独特的随机URL,例如/uploads/PurpleSmellyGiraffe。该模型将有一列作为自定义URL部分,即PurpleSmellyGiraffe,然后在URL.py中,我们有任何内容/uploads/*将选择具有该URL的相应模型。然而,我不确定这是否是最佳实践


我可以得到一些关于如何实现这一点的反馈/建议吗?

我通常做的是创建一个以上载日期为名称的目录,例如04042018/然后用uuid4重命名上载的文件,例如550e8400-e29b-41d4-a716-446655440000.jpg

因此,上传文件的完整路径如下所示:

site_media/media/04042018/550e8400-e29b-41d4-a716-446655440000.jpg


就我个人而言,我认为这种方式比使用site_media/media/username/file.jpg更好,因为这样更容易确定哪些图像属于谁。

我通常做的是创建一个以上传日期为名称的目录,例如04042018/然后我用uuid4重命名上传的文件,例如550e8400-e29b-41d4-a716-446655440000.jpg

因此,上传文件的完整路径如下所示:

site_media/media/04042018/550e8400-e29b-41d4-a716-446655440000.jpg

就个人而言,我认为这种方式比使用site_media/media/username/file.jpg更好,因为这样更容易确定哪些图像属于谁