【问题标题】:Django file sharing between users用户之间的Django文件共享
【发布时间】:2018-03-16 19:08:24
【问题描述】:

我正在创建文件共享应用程序。我有多个用户。 请在我的 forms.py 下方找到

from django import forms
from django.contrib.auth.models import User
from Box.models import user_files


class Loginform(forms.Form):
    username=forms.CharField(max_length=50)
    password=forms.CharField(widget=forms.PasswordInput)

class UserRegistration(forms.ModelForm):
    password = forms.CharField(label='Password',widget=forms.PasswordInput)
    password2 = forms.CharField(label='Repeat Password',widget=forms.PasswordInput)

    class Meta:
        model=User
        fields= ('username','first_name','email')

    def clean_password2(self):
        cd=self.cleaned_data
        if cd['password']!=cd['password2']:
            raise forms.ValidationError('Passwords do not match')
        return cd['password2']

class Fileupload(forms.ModelForm):
    class Meta:
        model= user_files
        fields = ('Filename','Browse')

还有我的model.py

from django.db import models

class user_files(models.Model):
    Filename = models.CharField(max_length=50)
    Browse = models.FileField()

我在内置的用户模型中使用 django 来存储用户数据和模型 user_files 来存储文件。那么现在我如何区分哪个文件是由哪个用户上传的呢?我如何与其他用户共享?我被困在这一点上。 提前致谢

【问题讨论】:

    标签: django django-models django-forms django-rest-framework django-views


    【解决方案1】:

    您可以设置一个字段uploaded_by,它是用户模型的外键,这将帮助您识别是哪个用户上传的,下载时您只需在html中设置文件的链接。

    【讨论】:

    • 如果我把字段 upload_by ,那么我需要手动更新它,对吧?如果是的话……怎么办?
    • 您必须通过表单权限接受文件,因此当该表单被发送到那里时,您可以执行“form_object.uploaded_by = request.user”之类的操作,因此您不必手动执行。
    • 用于显示上传文件的链接,如何获取该链接?
    猜你喜欢
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 2022-08-14
    • 1970-01-01
    • 2014-08-09
    相关资源
    最近更新 更多