bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


django_lliga

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
django_lliga [2023/06/22 13:15]
enric_mieza_sanchez [Exercici lliga de futbol en Django]
django_lliga [2024/03/14 18:15] (actual)
enric_mieza_sanchez [Menu form]
Línia 194: Línia 194:
 En particular [[https://faker.readthedocs.io/en/master/|per Python disposem de la llibreria Faker]] que ens facilitarà molt aquesta tasca. En particular [[https://faker.readthedocs.io/en/master/|per Python disposem de la llibreria Faker]] que ens facilitarà molt aquesta tasca.
  
-Podem crear el //seeder// dins una [[https://docs.djangoproject.com/en/stable/howto/custom-management-commands/|comanda personalitzada de Django]] que podrem cridar amb el ''admin.py'' tipus: +Podem crear el //seeder// dins una [[https://docs.djangoproject.com/en/stable/howto/custom-management-commands/|comanda personalitzada de Django]] que podrem cridar amb el ''manage.py'' tipus: 
-  $ ./admin.py crea_lliga "Lliga fake 2"+  $ ./manage.py crea_lliga "Lliga fake 2"
  
 L'argument "Lliga fake 2" serà el nom de la lliga que cal crear. La resta de dades les inventarem amb l'ajuda de Faker. L'argument "Lliga fake 2" serà el nom de la lliga que cal crear. La resta de dades les inventarem amb l'ajuda de Faker.
Línia 436: Línia 436:
         if form.is_valid():         if form.is_valid():
             lliga = form.cleaned_data.get("lliga")             lliga = form.cleaned_data.get("lliga")
 +            # cridem a /classificacio/<lliga_id>
             return redirect('classificacio',lliga.id)             return redirect('classificacio',lliga.id)
     return render(request, "menu.html",{     return render(request, "menu.html",{
Línia 442: Línia 443:
 </file> </file>
  
-I la plantilla ens quedaria així de simple:+La plantilla o //template// ens quedaria així de simple:
 <file html menu.html> <file html menu.html>
 <h1>Menu Lligues</h1> <h1>Menu Lligues</h1>
Línia 452: Línia 453:
  <input type="submit" name="submit">  <input type="submit" name="submit">
 </form> </form>
 +</file>
 +
 +També necessitarem modificar les URLs per poder accedir adequadament a la classificació i passar-li el ID de la lliga que volem visualitzar:
 +
 +<file python urls.py>
 +urlpatterns = [
 +    path("menu", views.menu, name="menu"),
 +    path("classificacio/<int:lliga_id>", views.classificacio, name="classificacio"),
 +]
 +</file>
 +
 +Finalment modifiquem ''views.py'' per tal que rebem el paràmetre ''lliga_id'' i filtrem la lliga que volem mostrar:
 +
 +<file python views.py>
 +def classificacio(request, lliga_id):
 +    lliga = get_object_or_404( Lliga, pk=lliga_id)
 +    equips = lliga.equip_set.all()
 +    #...
 </file> </file>
  
django_lliga.1687439749.txt.gz · Darrera modificació: 2023/06/22 13:15 per enric_mieza_sanchez