0

Je rencontre un problème et je ne trouve pas de solution à ce problème. Tout semble aller bien, mais cela ne fonctionne pas.Page HTML blanche après redirection avec le modèle Django CBV

C'est le processus:

J'ai un modèle avec toutes les informations sur l'objet qui vient d'être créé par la forme Django. J'ai un bouton qui doit rediriger vers un autre modèle en tenant compte du object id mais quand je suis redirigé vers ce modèle, je reçois une page blanche html.

Ceci est mon modèle:

class Societe(models.Model): 

    NumeroIdentification   = models.CharField(max_length=30, null=True, verbose_name='Numero Identification physique', unique=True) 
    Nom        = models.CharField(null= False, max_length=30, verbose_name='Nom de Société') 
    Etat       = models.CharField(max_length = 30, choices = CHOIX_ETAT_SOCIETE, null=False, verbose_name="Etat") 
    ... 

    def get_absolute_url(self): 
     return reverse_lazy('SocieteResume', kwargs={'id': self.id}) 

    def __unicode__(self): 
     return unicode (self.id, self.NumeroIdentification, self.Nom, ...) 

J'ai une première classe qui laisse à afficher objet créé en détail:

class IdentitySocieteResumeView(LoginRequiredMixin, ListView) : 

    template_name = 'Identity_Societe_Resume.html' 
    model = Societe 

    def get_context_data(self, **kwargs) : 

     context_data = super(IdentitySocieteResumeView, self).get_context_data(**kwargs) 

     id = self.kwargs['id'] 
     societe = get_object_or_404(Societe, pk=id) 

     obj = Societe.objects.filter (Nom=societe.Nom, SIRET=societe.SIRET, SIREN=societe.SIREN, Ville=societe.Ville) 

     if obj: 
      sc_obj = obj[0] 

      ... 

     return context_data 

Avec le modèle associé qui a ce bouton afin de rediriger vers le prochain modèle:

<form method='POST' action="{% url 'SocietePDF' societe.id %}">{% csrf_token %} 
{% csrf_token %} 
<button>Générer le PDF de la Fiche d'Identification </button> 
</form> 

Ce bouton redirige vers (je dois obtenir le id afin d'avoir vue personnaliser/modèle):

class IdentitySocietePDFCreatingView(LoginRequiredMixin, TemplateView) : 

    template_name = 'Identity_Societe_PDF.html' 
    model = Societe 

    def get_context_data(self, **kwargs) : 

     context_data = super(IdentitySocietePDFCreatingView, self).get_context_data(**kwargs) 

     id = self.kwargs['id'] 
     societe = get_object_or_404(Societe, pk=id) 

     obj = Societe.objects.filter (Nom=societe.Nom, SIRET=societe.SIRET, SIREN=societe.SIREN, Ville=societe.Ville) 

     ... 

     return context_data 

Mon fichier urls.py ressemble à ceci:

from django.conf.urls import url 
from Identity.views import IdentityIndividuFormView, IdentityHomepageView, IdentityChoiceUpdateView, IdentitySocieteFormView, IdentitySocieteResumeView, IdentitySocietePDFCreatingView 
from . import views 

urlpatterns = [ 
    url(r'^Homepage$', IdentityHomepageView.as_view(), name="Home"), 
    url(r'^Person/ChoiceUpdate/$', IdentityChoiceUpdateView.as_view(), name="IdentityChoice"), 
    url(r'^Person/Form/$', IdentityIndividuFormView.as_view(), name="IndividuFormulaire"), 
    url(r'^Company/Form/$', IdentitySocieteFormView.as_view(), name = "SocieteFormulaire"), 
    url(r'^Person/Form/Resume/(?P<id>\d+)/$', views.IdentityIndividuResume, name="IndividuResume"), 
    url(r'^Company/Form/Resume/(?P<id>\d+)/$', IdentitySocieteResumeView.as_view(), name="SocieteResume"), 
    url(r'^Person/Update/$', views.IdentityIndividuUpdateAll, name="Edition"), 
    url(r'^Company/Update/$', views.IdentitySocieteUpdateAll, name="EditionSociete"), 
    url(r'^Person/Research/$', views.IdentityIndividuResearching, name="IndividuRecherche"), 
    url(r'^Company/Research/$', views.IdentitySocieteResearching, name="SocieteRecherche"), 
    url(r'^Company/Research/Fraud/$', views.IdentitySocieteFraudResearching, name="SocieteRechercheFraude"), 
    url(r'^Company/Research/Employe/$', views.IdentitySocieteEmploye, name="SocieteRechercheEmploye"), 
    url(r'^Person/Read/PDF/$', views.IdentityIndividuPDFReading, name="Consultation"), 
    url(r'^Company/Read/PDF/$', views.IdentitySocietePDFReading, name="SocieteConsultation"), 
    url(r'^Person/Delete/$', views.IdentityIndividuDelete, name="Suppression"), 
    url(r'^Person/Form/PDF/(?P<id>\d+)/$', views.IdentityIndividuPDFCreating, name="IndividuPDF"), 
    url(r'^Company/Form/PDF/(?P<id>\d+)/$', IdentitySocietePDFCreatingView.as_view(), name="SocietePDF"), 
    url(r'^Statistics/$', views.IdentityStatistics, name="Statistiques"), 
    url(r'^Person/Update/Civility/$', views.IdentityIndividuUpdateCivility, name="EditionCivilite"), 
    url(r'^Person/Update/Coordonates/$', views.IdentityIndividuUpdateCoordonates, name="EditionCoordonnees"), 
    url(r'^Person/Update/Contact/$', views.IdentityIndividuUpdateContact, name="EditionContact"), 
] 

La chose étrange est: quand je clique sur le bouton pour être rediriger vers SocietePDF Je reçois une page HTML blanche, mais si je coupe/colle l'URL, je peux accéder au modèle.

Quelque chose manque dans mon processus?

Merci!

+0

En anglais pour "blanc" dans le sens de "vide" on dit bien "blanc" et non pas "blanc". –

+0

@DanielRoseman Ok je suis désolé je veux dire ma page html était tout blanc, mais vide est plus adapté ^^ je ne savais pas que vous parliez français langue;) – Deadpool

+1

J'ai beaucoup de talents ... :) de toute façon, une chose que je essayerait serait de changer l'action de formulaire de POST à ​​GET, puisque votre IdentitySocietePDFCreatingView n'attend pas une demande POST. –

Répondre

2

Votre IdentitySocietePDFCreatingView n'attend pas de requête POST; vous devriez changer l'action de forme pour obtenir.