0

我正在创建文件共享应用程序。我有多个用户。 在建立用户模型来存储用户数据和模型user_files存储文件PLZ在下面找到我forms.py用户之间的Django文件共享

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的。那么现在我怎么区分哪个用户上传哪个文件?以及我如何分享其他用户?我被困在这一点上。 在此先感谢

回答

1

您可以建立一个字段uploaded_by,它是外键用户模型,这将帮助您识别哪个用户上传它,并下载你只需要建立一个文件的链接HTML。

+0

如果我把字段uploaded_by,那么我需要手动更新它,对吗?如果是的话......怎么做? –

+0

您必须通过表单接受文件,因此当表单发送到那里时,您可以执行类似“form_object.uploaded_by = request.user”的操作,因此您不必手动执行该操作。 –

+0

用于显示上传文件的链接,如何获取该链接? –