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!
En anglais pour "blanc" dans le sens de "vide" on dit bien "blanc" et non pas "blanc". –
@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
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. –