#python #django
#питон #джанго
Вопрос:
Я создаю систему с помощью Django. У пользователя есть несколько клиентов. И у каждого клиента есть свое поле для загрузки файла. У меня есть функции загрузки, но они общие для всех. Я хочу, чтобы у каждого клиента были разные поля загрузки и отображения pdf. Как я могу это сделать?
models.py
class Pdf(models.Model):
comp_name = models.CharField(max_length=200, default='', blank=True, null=True)
title = models.CharField(max_length=200)
pdf = models.FileField(upload_to='pdfs/')
type = models.CharField(max_length=200, default='Select')
year = models.CharField(max_length=200, default='Select')
def __str__(self):
return self.title
views.py
def pdf_list(request):
pdfs = Pdf.objects.all()
return render(request, 'pdf_list.html', {'pdfs': pdfs})
def upload_pdf(request):
if request.method == 'POST':
form = PdfForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('pdf_list')
else:
form = PdfForm()
return render(request, 'upload_pdf.html', {'form': form})
forms.py
class PdfForm(forms.ModelForm):
CHOICES = [
('img', 'Image'),
('txt', 'Text'),
]
type = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect)
year = forms.fields.DateField(widget=forms.widgets.DateInput(attrs={'type': 'date'}))
comp_name = forms.ModelChoiceField(queryset=CompanyProfile.objects.all(), required=False,
widget=forms.HiddenInput())
customer/model.py
class Customer(models.Model):
name = models.CharField(max_length=20)
surname = models.CharField(max_length=20)
companyName = models.CharField(max_length=200, default="Choose")
Комментарии:
1. Я не уверен, что такое ваше «другое поле загрузки файла». каталог в вашей файловой системе ?
Ответ №1:
Вам нужно добавить поле FileField в вашу клиентскую модель (если разрешено несколько загрузок для каждого клиента, вам может понадобиться другая модель) и заполнить его соответствующим образом в вашем представлении