Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
|
django_frontend [2023/04/19 17:02] enric_mieza_sanchez [Auth Quickstart] |
django_frontend [2023/07/06 07:00] (actual) raquel_alaman_navas |
||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| ====== Django framework: frontend ====== | ====== Django framework: frontend ====== | ||
| + | |||
| [[Django]] és un framework web basat en Python molt popular. Està orientat a la rapidesa de desenvolupament, | [[Django]] és un framework web basat en Python molt popular. Està orientat a la rapidesa de desenvolupament, | ||
| Línia 24: | Línia 24: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[Integració de Django amb React]] | ||
| La documentació de Django és molt bona, tant en les referències tècniques com el [[https:// | La documentació de Django és molt bona, tant en les referències tècniques com el [[https:// | ||
| Línia 211: | Línia 212: | ||
| ===== Formularis ===== | ===== Formularis ===== | ||
| - | Per veure com fer formularis | + | <WRAP tip> |
| + | Pel // | ||
| + | </ | ||
| - | \\ | + | Referències sobre formularis: |
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| - | ===== Autenticació ===== | + | Altres: |
| - | Pots llegir la doc oficial d' | + | * https:// |
| - | * https:// | + | |
| - | ==== Auth Quickstart ==== | + | Un formulari sempre implica diverses passes: |
| - | Per anar ràpid, podem instal·lar | + | - Crear el formulari |
| + | | ||
| + | - Mostrar un resultat: pot ser senzill (operació OK), o complex (mostrar classificació). Sovint és molt pràctic fer una redirecció cap a una altre //view// i repartir | ||
| - | <file python urls.py> | + | Cada pas abans descrit pot necessitar el seu **template** i la seva **view**. A la //view// crearem i filtrarem les dades adequades per passar-les al // |
| - | urlpatterns = [ | + | |
| - | path(" | + | |
| - | path(" | + | |
| - | ] | + | |
| - | </file> | + | |
| - | Això ens configurarà les rutes: | + | En Django tenim, al menys, 4 aproximacions per a realitzar formularis: |
| - | < | + | - Plantilla |
| - | accounts/login/ [name=' | + | - Utilitzar objecte |
| - | accounts/logout/ [name='logout'] | + | - Utilitzar objectes més sofisticats com '' |
| - | accounts/ | + | - Utilitzar [[https://docs.djangoproject.com/en/stable/topics/class-based-views/generic-display/|generic views com DetailView]] : les operacions tipus CRUD es poden fer amb aquests objectes genèrics. |
| - | accounts/ | + | |
| - | accounts/ | + | |
| - | accounts/password_reset/done/ [name=' | + | |
| - | accounts/reset/< | + | |
| - | accounts/reset/done/ [name=' | + | |
| - | </ | + | |
| - | Només ens caldrà afegir plantilles per a '' | + | El processament del formulari és sempre similar (menys en el cas de les //generic views//). |
| - | --> Plantilla login.html (la que surt a la doc oficial)# | + | \\ |
| - | Aquesta és la [[https:// | + | |
| - | <file html templates/ | + | <WRAP info> |
| - | {% extends "base.html" %} | + | Podeu veure mes exemples a l' |
| + | </ | ||
| - | {% block content %} | + | \\ |
| - | {% if form.errors %} | + | ===== Autenticació ===== |
| - | <p>Your username and password didn't match. Please try again.</p> | + | <WRAP info> |
| - | {% endif %} | + | En el frontend és important utilitzar la [[Django Auth]]. |
| + | </WRAP> | ||
| - | {% if next %} | + | \\ |
| - | {% if user.is_authenticated %} | + | |
| - | < | + | |
| - | please login with an account that has access.</ | + | |
| - | {% else %} | + | |
| - | < | + | |
| - | {% endif %} | + | |
| - | {% endif %} | + | |
| - | + | ||
| - | <form method=" | + | |
| - | {% csrf_token %} | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | <input type=" | + | |
| - | <input type=" | + | |
| - | </ | + | |
| - | + | ||
| - | {# Assumes you set up the password_reset view in your URLconf #} | + | |
| - | < | + | |
| - | + | ||
| - | {% endblock %} | + | |
| - | </ | + | |
| - | <-- | + | |
| - | + | ||
| - | I la plantilla '' | + | |
| - | + | ||
| - | <file html registration/ | + | |
| - | Benvingut {{user}}. | + | |
| - | < | + | |
| - | <a href="/ | + | |
| - | </ | + | |