我遇到了问题,但我找不到解决此问题的方法。 一切似乎都很好,但它不起作用。
这是一个过程:
我有一个模板,其中包含有关刚刚由Django表单创建的对象的所有信息。
我有一个按钮,必须重定向到考虑object id
的其他模板,但是当我重定向到此模板时,我会得到一个html白页。
这是我的模特:
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, ...)
我有一个第一个类,可以详细显示创建的对象:
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
使用具有此按钮的关联模板,以便重定向到下一个模板:
<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>
此按钮重定向到(我必须获取id
才能拥有个性化视图/模板):
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
我的urls.py文件如下所示:
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"),
]
奇怪的是:当我点击按钮以重定向到SocietePDF
时,我得到一个白色HTML页面,但如果我剪切/粘贴网址,我可以访问模板。 / p>
我的过程中缺少什么东西?
谢谢!
答案 0 :(得分:2)
您的IdentitySocietePDFCreatingView不期待POST请求;你应该将表格动作改为GET。