New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] POC ModelForm #4296

Closed
wants to merge 1 commit into
base: dev
from

Conversation

Projects
None yet
5 participants
@gustavi
Member

gustavi commented Apr 15, 2017

Q R
Type de modification évolution
Ticket(s) (issue(s)) concerné(s) x

QA

Pour modifier des champs liés à un formulaire, il est préférable d'utiliser django.forms.ModelForm car ça va "convertir" le champs du modèle en champs de formulaire. Ainsi les attributs comme la taille maximale du champs ou encore l'obligation de remplir ce champs sont automatiquement ajouté au formulaire. C'est une POC sur un seul formulaire, n'hésitez pas à me dire ce que vous en pensez. Je vous laisse un petit lien vers la documentation pour en apprendre plus si besoin (sachez qu'il y a eu des ajouts intéressants dans les versions suivantes de Django) : https://docs.djangoproject.com/fr/1.8/topics/forms/modelforms/

L'énorme avantage c'est qu'en cas de changement du modèle, le formulaire est automatiquement changé et cela évite une double modification du code et donc des bugs potentiels.

  • NE PAS MERGER, POC

Note : En ce qui concerne le rendu pour le formulaire GitHubTokenForm, il est de type textarea et non pas input comme avant. Cela vient du fait que sur le modèle zds.member.Profile c'est u n TextField et non un CharField. La possibilité de forcer le type de champs apparaît avec la version 1.9 de Django, j'ai laissé un commentaire pour y penser. Dans la mesure où cela ne casse aucune fonctionnalité et que ça ne sera visible que pour les devs, je pense que ça ne pose pas de souci particulier.

  • Ça fonctionne !
  • Code relu et approuvé !

@gustavi gustavi changed the title from POC ModelForm to [WIP] POC ModelForm Apr 15, 2017

Augustin Laville
@coveralls

This comment has been minimized.

Show comment
Hide comment
@coveralls

coveralls Apr 15, 2017

Coverage Status

Coverage increased (+0.004%) to 88.557% when pulling 2b0a5b0 on gustavi:update-member-forms into 943e338 on zestedesavoir:dev.

coveralls commented Apr 15, 2017

Coverage Status

Coverage increased (+0.004%) to 88.557% when pulling 2b0a5b0 on gustavi:update-member-forms into 943e338 on zestedesavoir:dev.

@gustavi

This comment has been minimized.

Show comment
Hide comment
@gustavi

gustavi May 30, 2017

Member

Est-ce que ça va à tout le monde si on refacto une bonne partie des formulaires comme cela ? C'est un ÉNORME gain en terme de propreté et ça évitera des bugs à tous les coups.

Member

gustavi commented May 30, 2017

Est-ce que ça va à tout le monde si on refacto une bonne partie des formulaires comme cela ? C'est un ÉNORME gain en terme de propreté et ça évitera des bugs à tous les coups.

@gcodeur

This comment has been minimized.

Show comment
Hide comment
@gcodeur

gcodeur May 31, 2017

Member

Tout à fait (et après, il faudra utiliser CreateView et UpdateView). :)

Member

gcodeur commented May 31, 2017

Tout à fait (et après, il faudra utiliser CreateView et UpdateView). :)

@artragis

This comment has been minimized.

Show comment
Hide comment
@artragis

artragis Aug 1, 2017

Contributor

Que manque-t-il pour merger celle-là?

Contributor

artragis commented Aug 1, 2017

Que manque-t-il pour merger celle-là?

@Situphen Situphen added the S-Zombie label Sep 30, 2017

@Situphen Situphen removed the S-Évolution label Nov 11, 2017

@gustavi gustavi referenced this pull request Aug 9, 2018

Open

[WIP] Utilisation de forms.ModelForm #5003

0 of 10 tasks complete
@gustavi

This comment has been minimized.

Show comment
Hide comment
@gustavi

gustavi Aug 9, 2018

Member

Reprise dans #5003

Member

gustavi commented Aug 9, 2018

Reprise dans #5003

@gustavi gustavi closed this Aug 9, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment