0
我有问题,我的过滤物通路Django的对象过滤器基于文件的URL
我想进行简单的系统,让员工只下载文件,从特定文件夹(媒体/客户/文件)。
我写了正则表达式的url和每个请求去file_get_url视图,我检查这个文件是否存在于文件模型基于URL过滤 - 但我不知道如何过滤这个。当我得到的对象,我有“file.url”,但不是在过滤器(file_url)。你有没有想过如何解决这个问题?
Urls.py:
urlpatterns = [
url(r'^media/client/files/', 'file.views.file_get_url', name='file_get_url'),
]
Views.py:
@user_passes_test(lambda u: u.is_staff, login_url='/account/login/')
def file_get_url(request):
if request.user.is_staff:
f = File.objects.filter(file_url=request.get_full_path())
return HttpResponse(f.file.url)
Models.py
class File(models.Model):
created_date = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey(User, on_delete=models.PROTECT, blank=True, null=True)
file = models.FileField(upload_to='client/files/')
type = models.CharField(max_length=32, default=None, blank=True, null=True)
object_id = models.IntegerField(blank=True, null=False, default=None)
content_id = models.IntegerField(default=None, null=False, blank=False)
你并没有什么,因为FILE_URL不 –
而且,在你的模型中已经提到文件应该被上传到文件模型场“/客户端/文件”,你希望员工用户只能从那里下载它。所以有什么问题?原谅我,但我在这里并没有真正看到问题 –