gpt4 book ai didi

django - 如何在 Django 中限制静态文件上传的用户?

转载 作者:行者123 更新时间:2023-12-02 06:14:14 24 4
gpt4 key购买 nike

据我所知,静态文件应该由服务器直接提供,而不是使用 Python 和 Django。但我需要限制上传文件的用户对文件的访问。不幸的是,该文档没有关于在生产环境中提供用户上传的静态文件的部分。

如果我是对的,Facebook 使用的是很难猜测的长网址。这对我来说听起来是一个合理的方法。如何在 Django 中自动生成长 ID 并将其用于上传的媒体文件?

最佳答案

您可以使用slugifydatetime

from django.template.defaultfilters import slugify
import datetime

class MyModel(models.Model):
title = models.CharField(max_length=150, db_index=True)
image = models.Charfield(max_length=150, unique=True)
....
....
def save(self):
super(MyModel, self).save()
date = datetime.date.today()
self.image = '%i/%i/%i/%s' % (
date.year, date.month, date.day, slugify(self.title)
)
super(MyModel, self).save()

或者只是

使用时间

from time import time

def get_upload_file_name(instance, filename):
return "uploaded_files/%s_%s" %(str(time()).replace('.','_'), filename)

class MyModel(models.Model):
description = models.TextField()
image = models.ImageField(upload_to=get_upload_file_name)

def __unicode__(self):
return "%s --> %s" % (self.user, self.description)

或者

通过使用此模块 - django-unique-random

希望对你有帮助!

关于django - 如何在 Django 中限制静态文件上传的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23582812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com