Bonjour,

J'ai un projet Django dans lequel une application « choix » contenant des champs et, pour chacun d'eux, le résultat est envoyé à une autre application !
Le résultat de runserver est une erreur :needs updating." % name django.core.exceptions.ImproperlyConfigured: Creating a ModelForm without either the 'fields' attribute or the 'exclude' attribute is prohibited; form ConfigurationFrorm needs updating.

Voilà les views de mes applications :

choix/views.py
Code Python : 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
from django.shortcuts import render
from choix.forms import ConfigurationForm
from django.http import HttpResponse, HttpResponseRedirect
from django.core.urlresolvers import reverse
from choix.models import Configuration 
from django import forms
class Meta:
        model = Configuration
def index(request):
    if request.method == 'GET' :
        form = ConfigurationForm()
    else:
        form = ConfigurationForm(request.POST)
        if form.is_valid():
            e_mail = form.e_mail.data['e_mail']
            temps = form.temps.data['temps']
            temperature = form.temperature.data['temperature']
            post = m.Post.objects.create(e_mail=e_mail,
                                                         temps=temps, temperature = temperature)
            post.save()
            return HttpResponseRedirect(reverse('post_detail', kwargs={'post_id' : post.id}))
 
 
    return render(request, 'choix/configuration.html',  {'form': form})

aps/views.py
Code Python : 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
from django.shortcuts import render
from rasp import foo
from choix import views 
from choix.forms import ConfigurationForm
from django import forms
import json 
 
 
class ConfigurationFrorm(forms.ModelForm):
class Meta:
        model = Configuration
def index(request,self):
    cleaned_data = super(ConfigurationForm, self).clean()
    temps = cleaned_data.get("temps")
 
    return render(request, 'index.html', {'t' : foo(), 'form':form, 'f':temps})

mail/views.py
Code Python : 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
from django.core.mail import send_mail, BadHeaderError
from django.http import HttpResponse, HttpResponseRedirect
from choix import views 
from choix.forms import ConfigurationForm
from django import forms
class ConfigurationFrorm(forms.ModelForm):
class Meta:
    model = Configuration
def index(request,self):
 
    subject = request.POST.get('subject', 'subject')
    message = request.POST.get('message', 'attention ! la temperature a depasse le maximum ')
    from_email = request.POST.get('from_email', '*********@gmail.com')
    cleaned_data = super(ConfigurationForm, self).clean()
    to  = cleaned_data.get("email")
    if subject and message and from_email:
        try:
            send_mail(subject, message, from_email, [ to ])
            return HttpResponse('templates/mail.html')
        except BadHeaderError:
            return HttpResponse('Invalid header found.')
        return HttpResponseRedirect('mail')
    else:
    return HttpResponse('Make sure all fields are entered and valid.')

Merci d'avance pour votre aide.