Skip to content

Commit

Permalink
Forms doc improve (#80)
Browse files Browse the repository at this point in the history
* Improve a bit the doc for forms

* Add PR template
  • Loading branch information
Ash-Crow authored Nov 27, 2023
1 parent bcb97e9 commit a07500c
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 2 deletions.
21 changes: 21 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## 🎯 Objectif

_Un résumé de l’objectif de la PR_

_Précisez si c’est un bugfix, une nouvelle fonctionnalité… Expliquez rapidement le gain « fonctionnel » de vos modifications._

## 🔍 Implémentation

- _Une liste des modifications_

## ⚠️ Informations supplémentaires

_(optionnel) Documentation, commandes à lancer, variables d’environnement, etc._

## 🏕 Amélioration continue

- _(optionnel) Une liste d’autres modifications pas en lien direct avec la PR_

## 🖼️ Images

_(optionnel) Une ou plusieurs captures d’écran, si pertinent_
17 changes: 16 additions & 1 deletion doc/forms.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Formulaires – Documentation

## Initialisation des formulaires
Les formulaires sont construits en se basant sur la classe `DsfrBaseForm`, par exemple :

```{ .python }
Expand All @@ -23,9 +26,10 @@ Il est possible de multi-classer :
class AuthorCreateForm(ModelForm, DsfrBaseForm):
```

## Classes CSS
Le formulaire ajoute la ou les classes appropriées (`fr-input`, `fr-select`, etc.) en fonction du type de champ, mais uniquement si une classe n’a pas déjà été ajoutée.

Si c'est le cas, il faut aussi forcer manuellement les classes à utiliser :
Si cest le cas, il faut soit forcer manuellement les classes à utiliser :

```{ .python }
password = forms.CharField(
Expand All @@ -35,5 +39,16 @@ Si c'est le cas, il faut aussi forcer manuellement les classes à utiliser :
"class": "fr-input my-custom-class"
)
)
```

soit les ajouter dans la méthode `init` du formulaire (en faisant attention à laisser une espace au début) :

```{ .python }
class AuthorCreateForm(ModelForm, DsfrBaseForm):
# [...]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["password"].widget.attrs["class"] += " my custom class"
```
2 changes: 1 addition & 1 deletion example_app/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ def doc_install(request):

@require_safe
def doc_form(request):
payload = init_payload("Installation")
payload = init_payload("Formulaires – Documentation")
payload["documentation"] = format_markdown_from_file("doc/forms.md")

return render(request, "example_app/doc_markdown.html", payload)
Expand Down

0 comments on commit a07500c

Please sign in to comment.