2017-03-25 3 views
0

J'essaie d'utiliser Django Crisy Form pour créer un formulaire de contact dans une visionneuse. Cependant, je ne peux pas obtenir la mise en page ou le fonctionnement de css, car le résultat s'avère le même dans le format html primitif. Je joins le code ci-dessous et apprécie que si quelqu'un peut suggérer quoi faire pour le faire fonctionner. Merci beaucoup.Django Crisy La disposition des formulaires ne fonctionne pas

Models.py:

from django.db import models 

# Create your models here. 
class db_contact(models.Model): 
    Date = models.DateTimeField ('Date') 
    Name = models.CharField ('Name', max_length = 50) 
    Subject = models.DateField ('Subject', max_length = 20) 
    Email = models.CharField ('Email', max_length = 200) 
    Message = models.CharField ('Message', max_length = 50000) 

    def __str__(self): 
     return self.Subject 

    class Meta: 
     ordering = ['id'] 

Forms.py

from django import forms 
from django.forms import ModelForm 
from siteapps.models import db_contact 
from crispy_forms.helper import FormHelper 
from crispy_forms.layout import Layout, Fieldset, ButtonHolder, Submit 

class frm_contact(ModelForm):  

    def __init__(self, *args, **kwargs): 
     super(frm_contact, self).__init__(*args, **kwargs) 
     self.helper = FormHelper(self)  
     self.helper.form_id = 'id-exampleForm' 
     self.helper.form_class = 'blueForms' 
     self.helper.form_method = 'post' 
     self.helper.form_action = 'submit_survey' 

     self.helper.add_input(Submit('submit', 'Submit')) 


    class Meta: 
     model = db_contact 
     fields = ['Name', 'Subject', 'Email', 'Message'] 

views.py

def contact(request): 
    form_contact = frm_contact() 
    return render(request, 'contact.html', {'form_contact' : form_contact}) 

contact.html

{% extends request.is_ajax|yesno:"fancybox/base.html,main.html" %} 
{% load crispy_forms_tags %} 
{% load i18n %} 

{% block content %} 

    {% crispy form_contact form_contact.helper %} 

    <script src='https://www.google.com/recaptcha/api.js'></script> 
    <div class="g-recaptcha" data-sitekey="xxx"></div> 
{% endblock %} 

Répondre

0

Je vais répondre à mes questions car j'ai trouvé la solution.

Il s'avère que je mets à mettre bootstrap js/css, et maintenant il fonctionne avec le bootstrap3.

Plus de détails sur les réponses se trouvent ici: Django crispy forms not loading CSS