from django import forms from .models import EnrollmentRequest class EnrollmentRequestForm(forms.ModelForm): """Formulaire public de /communaute/. `website` n'est pas un champ du modèle (absent de Meta.fields, jamais sauvegardé) — honeypot anti-spam classique : caché par CSS côté template, un humain ne le remplit jamais, un bot qui remplit tout aveuglément si. Rempli => la vue ignore silencieusement la soumission, sans message d'erreur (ne pas indiquer au bot qu'il a été détecté).""" website = forms.CharField(required=False, widget=forms.HiddenInput) class Meta: model = EnrollmentRequest fields = ['email', 'node_name', 'country', 'message'] widgets = { 'message': forms.Textarea(attrs={'rows': 4}), } def is_spam(self) -> bool: return bool(self.cleaned_data.get('website'))