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() 

私が使用しているジャンゴ。では、どのユーザーがどのファイルをアップロードするのかをどのように区別することができますか?他のユーザーとどのように共有できますか?私はこの時点で立ち往生しています。 ありがとうございます

答えて

1

ユーザーモデルに外部キーであるフィールドuploaded_byを置くことができます。これはアップロードされたユーザーを特定するのに役立ちます。ダウンロードするにはファイルのリンクを設定するだけですhtml。

+0

フィールドuploaded_byを置くと、手動で更新する必要がありますか?はいの場合...それを行う方法? –

+0

フォームを使ってファイルを受け入れる必要があります。そのフォームが送信されると、 "form_object.uploaded_by = request.user"のようなことができるので、手動で行う必要はありません。アップロードされたファイルのリンクを表示するための –

+0

、そのリンクを取得するにはどうすればよいですか? –

関連する問題