【发布时间】:2021-01-04 23:04:48
【问题描述】:
我正在使用 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")
【问题讨论】:
-
我不确定您的“不同文件上传字段”是什么。文件系统中的目录?