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/01/10 19:27] enric_mieza_sanchez [Renderitzar dades des de la view] |
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 | + | En aquest article tenim per objectius: |
- | + | * Entendre el funcionament bàsic del paradigma MTV (Model-Template-View) de Django. | |
- | Django és conegut com "The web framework for perfectionists with deadlines" | + | * Clarificar el seu funcionament abans de seguir amb els tutorials oficials |
+ | * Entendre | ||
+ | * Veure alguns casos d'ús típics. | ||
{{ django-logo.png? | {{ django-logo.png? | ||
Línia 9: | Línia 13: | ||
{{tag> #FpInfor #Daw #DawMp07 #DawMp07Uf2 # | {{tag> #FpInfor #Daw #DawMp07 #DawMp07Uf2 # | ||
+ | \\ | ||
- | ===== Objectius ===== | ||
- | Entendre el funcionament bàsic del paradigma MTV (Model-Template-View) de Django. Clarificar el seu funcionament abans de seguir amb els tutorials oficials en les parts 2,3,6. | ||
- | |||
- | Entendre la separació per capes i l' | ||
===== Referències ===== | ===== Referències ===== | ||
- | Pàgina de referència del // | + | Referències: |
- | + | * Site oficial: [[http:// | |
- | Apunts previs: [[https://cacauet.org/wiki/index.php/Django]] | + | * [[Django]] en aquesta wiki: setup, administració i posada en producció. |
+ | * [[https:// | ||
+ | * [[https://developer.mozilla.org/en-US/docs/ | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[Integració de Django | ||
- | 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:// |
- | El tutorial oficial | + | El tutorial oficial |
- | - Backend (parts 1,2,7) | + | - Base i admin panel : parts 1, 2, 7 |
- | - Frontend (parts 3,4,6) | + | - Views al frontend : parts 3, 4, 6 |
+ | - Testing : part 5 | ||
- | Per seguir aquest exercici cal haver fet prèviament la part de //backend//. | + | Per seguir aquest exercici cal haver fet prèviament la part de //base i admin panel//. |
Línia 141: | Línia 148: | ||
<ul> | <ul> | ||
{% for element in elements %} | {% for element in elements %} | ||
- | < | + | < |
{% endfor %} | {% endfor %} | ||
</ | </ | ||
Línia 148: | Línia 155: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | <WRAP important> | ||
+ | Si et dona un error '' | ||
+ | <file settings.py> | ||
+ | INSTALLED_APPS = [ | ||
+ | ' | ||
+ | ... | ||
+ | ' | ||
+ | ] | ||
+ | </ | ||
+ | |||
+ | </ | ||
==== Renderitzar dades des de la view ==== | ==== Renderitzar dades des de la view ==== | ||
Línia 188: | Línia 207: | ||
**Fixa' | **Fixa' | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Formularis ===== | ||
+ | <WRAP tip> | ||
+ | Pel // | ||
+ | </ | ||
+ | |||
+ | Referències sobre formularis: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | Altres: | ||
+ | * https:// | ||
+ | |||
+ | Un formulari sempre implica diverses passes: | ||
+ | - Crear el formulari (pot ser senzill o més complex, i necessitarà codi). | ||
+ | - Processar les dades del 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 la complexitat en diverses parts del codi. | ||
+ | |||
+ | 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 // | ||
+ | |||
+ | En Django tenim, al menys, 4 aproximacions per a realitzar formularis: | ||
+ | - Plantilla // | ||
+ | - Utilitzar objecte '' | ||
+ | - Utilitzar objectes més sofisticats com '' | ||
+ | - Utilitzar [[https:// | ||
+ | |||
+ | El processament del formulari és sempre similar (menys en el cas de les //generic views//). | ||
+ | |||
+ | \\ | ||
+ | |||
+ | <WRAP info> | ||
+ | Podeu veure mes exemples a l' | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Autenticació ===== | ||
+ | <WRAP info> | ||
+ | En el frontend és important utilitzar la [[Django Auth]]. | ||
+ | </ | ||
+ | |||
+ | \\ | ||