1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
forms.py
class DepartForm(forms.ModelForm):
pj = forms.FileField(required=False,widget = forms.ClearableFileInput(attrs={'multiple':True}))
class Meta:
model = Depart
fields = '__all__'
def __init__(self, *args, **kwargs):
super(DepartForm, self).__init__(*args, **kwargs)
for field_name, field in self.fields.items():
field.widget.attrs['class'] = 'form-control'
views.py
def depart(request):
if request.method == 'POST':
depart_form = DepartForm(request.POST, request.FILES)
if depart_form.is_valid():
num_enreg = depart_form.cleaned_data['num_enreg']
date_emission = depart_form.cleaned_data['date_emission']
types = depart_form.cleaned_data['types']
destinataire = depart_form.cleaned_data['destinataire']
objet = depart_form.cleaned_data['objet']
observation = depart_form.cleaned_data['observation']
pj = depart_form.cleaned_data['pj']
handle_uploaded_file_depart(request.FILES['pj'],request.FILES['pj'])
depart_form.save()
return HttpResponseRedirect('liste_depart')
else:
depart_form = DepartForm()
return render(request, 'formulaire_depart.html', {'depart_form': depart_form})
def handle_uploaded_file_np_depart(f, filename):
repertoire_maitre = 'xxxxxxxx'
chemin_du_repertoire = 'media/Depart/'
repertoire_maitre = year+'/'
with open(chemin_du_repertoire +'%s/%s' % (repertoire_maitre, filename), 'wb+') as destination:
for chunk in f.chunks():
destination.write(chunk) |
Partager