Disons que j'ai un modèle Person qui a par exemple 2 attributs: un nom et quelques expériences de travail (une zone de texte).Comment afficher le champ corrigé dans un formulaire dans Django?
J'ai un formulaire pour créer une personne et j'ai créé une règle de validation personnalisée pour le TextField (les expériences de travail).
Je voudrais afficher les erreurs associées au TextField (les expériences de travail) (J'ai déjà fait cela.) Et je voudrais afficher le contenu de TextField mais corrigé: Je ne sais pas comment . afficher
par exemple, voici quelques expériences de travail saisies par l'utilisateur:
Work at McDonalds for 2 years, Study Customer Service for 1 year
Lorsque l'utilisateur soumet le formulaire, ce serait invalide à cause de ma règle de validation personnalisée pour le TextField *. * Je voudrais juste afficher l'entrée corrigée dans la page de formulaire (pas dans le T extField mais juste au-dessous comme un paragraphe par exemple), ** juste pour donner à l'utilisateur un moyen de voir son entrée corrigée:
- Work at McDonalds for 2 years
- Study Customer Service for 1 year
J'ai essayé cette option pour afficher l'entrée corrigée dans la page du formulaire:
class PersonCreate(CreateView):
model = Person
form_class = PersonForm
success_url = 'my_site/success.html'
def get_context_data(self, **kwargs):
# I have an error with the following line : 'NoneType' object has no attribute 'job_experiences'
job_experiences = self.object.job_experiences
#here is my code to get the formatted text
formatted_job_experiences = my_code(job_experiences)
context = super(PersonCreate, self).get_context_data(**kwargs)
context['formatted_job_experiences'] = formatted_job_experiences
return context
Merci pour votre réponse, mais j'ai l'erreur suivante maintenant: KeyError à/my_site/personne/ajouter/'form' – Reveclair
Les implémentations de base dans 'CreateView' toujours faire appel' 'get_context_data' avec formulaire = form', l'avez-vous remplacé d'une manière qui n'est pas montrée dans la question? –