Bonjour ,
j'essaie de faire uploader un fichier dans django, voici mon code :
models.py:
views.py:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 class Event (models.Model): date_debut_event = models.DateField() date_fin_event = models.DateField() nom_event = models.CharField(max_length=40) lieu_event = models.CharField(max_length=30) type_event = models.CharField(max_length=20) inscription_event = models.ManyToManyField(User,through='InscriptionEvent',related_name='user_inscription') def __str__(self): return self.nom_event status_list = [ ('En attente','En attente'), ('Validé','Validé')] class InscriptionEvent (models.Model): user_inscrit = models.ForeignKey(User,related_name='user_inscrit', on_delete=models.CASCADE) event_inscription = models.ForeignKey(Event,related_name='event_inscrit', on_delete=models.CASCADE) date_inscription = models.DateField() status_inscription = models.CharField(max_length=10,choices = status_list) file = models.FileField(blank = True)
url.py:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 def event_page(request,id): detail_event = Event.objects.get(id=id) detail_inscription = InscriptionEvent.objects.get(user_inscrit=request.user,event_inscription=detail_event) print(detail_inscription.file) if InscriptionEvent.objects.filter(user_inscrit=request.user,event_inscription=Event.objects.get(id=id)).exists(): if request.method == 'POST': form = send_confirmation_amount(request.POST, request.FILES) if form.is_valid(): detail_inscription.file = form.cleaned_data['file'] detail_inscription.save() return HttpResponseRedirect(reverse('eventPage' ,kwargs={'id':id})) else: form = send_confirmation_amount() return render(request,'event_page.html',{'data_event':detail_event,'form':form}) def inscription_congres (request,id): if not InscriptionEvent.objects.filter(user_inscrit=request.user,event_inscription=Event.objects.get(id=id)).exists(): inscription = InscriptionEvent() inscription.user_inscrit = request.user inscription.event_inscription = Event.objects.get(id=id) inscription.status_inscription = 'En attente' inscription.date_inscription = today inscription.save() messages.success(request, 'demande envoyé') else: messages.warning(request, 'demande deja envoyé') return HttpResponseRedirect (reverse('eventPage',kwargs={'id':id}))
forms.py:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 urlpatterns = [ path('',views.home,name='home'), path('profilInfo',views.profil_complete,name='profilecomplete'), path('DashProfile',views.dash_user,name='dashuser'), path('Event/<int:id>',views.event_page,name='eventPage'), path('inscription_congres/<int:id>',views.inscription_congres,name='inscriptionCongres'), ]
et le template :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class send_confirmation_amount(forms.ModelForm): class Meta: model = InscriptionEvent fields = ('file',)
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <p>{{ data_event.id }}</p> <p>{{ data_event.nom_event }}</p> <p>{{ data_event.date_debut_event }}</p> <p>{{ data_event.date_fin_event }}</p> <p>{{ data_event.lieu_event }}</p> <p>{{ data_event.type_event }}</p> <form method="POST" > {{ form.as_p }} {% csrf_token %} <button type="submit" >Envoyer le recu </button> </form> <a href="{% url 'inscriptionCongres' data_event.id %}">Inscrivez vous </a> {% for message in messages %} <strong>{{ message }}</strong> {% endfor %}
le problème est avec la vue event_page, quand je click sur 'envoyer le recu sur la page web' la page se re fraiche mais rien se passe , et dans l'admin rien ne s'ajoute , je peux même pas debugger , je ne comprend pas pourquoi, j'ai beau essayer de trouver le problème pendant 2jour mais rien,
svp pouvez vous m'aider a voir plus claire,
Merci d'avance
Partager