dan*_*jar 3 security random django static-files
从我读到的,静态文件应该由服务器直接提供,而不是使用Python和Django.但我需要限制文件访问上传它们的用户.遗憾的是,该文档没有关于提供用户在生产环境中上传的静态文件的部分.
如果我是对的,Facebook会使用难以猜测的长网址.这听起来像是一种合理的方法.如何在Django中自动生成长ID并将其用于上传的媒体文件?
你可以利用slugify和datetime.
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()
Run Code Online (Sandbox Code Playgroud)
要不就
运用 time
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)
Run Code Online (Sandbox Code Playgroud)
要么
通过使用此模块 - django-unique-random
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
475 次 |
| 最近记录: |