Herramientas de usuario

Herramientas del sitio


wiki2:python:django:templates

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
wiki2:python:django:templates [2019/02/16 17:53]
alfred [Render a template]
wiki2:python:django:templates [2020/05/09 09:25] (actual)
Línea 21: Línea 21:
 Puedes añadir una template al directorio ''​templates''​ de la APP. Entonces símplemente has de hacer ''​loader.get_template('​the_concrete.html'​)''​. Puedes añadir una template al directorio ''​templates''​ de la APP. Entonces símplemente has de hacer ''​loader.get_template('​the_concrete.html'​)''​.
  
 +==== Call the super block ====
 +<​code>​
 +{% block submit_buttons_bottom %}
 +    {{ block.super }}
 +    ...
 +</​code>​
 ===== Advanced ===== ===== Advanced =====
  
-=== Varios formularios ===+==== Varios formularios ===
 +Necesitarás generar el id para cada uno de ellos. Para eso usaremos la propiedad ''​auto_id'':​ 
 +<​code>​ 
 +def get_context_data(self,​ **kwargs):​ 
 + ​return super().get_context_data( 
 +    password_change_form=PasswordChangeForm(self.request.user),​ 
 +    user_data_form=UserDataForm(instance=self.request.user),​ 
 +    pledge_forms=[ 
 +      SignPledgeForm(instance=pledge,​ auto_id=f'​{idx}_%s'​)  
 +      for idx, pledge in enumerate(self.request.user.pledges.all()) 
 +    ] 
 +
 +</​code>​
  
 +Con este ejemplo cogerán el patrón indicado.
 ===== Tips ===== ===== Tips =====
 +
 +==== Index of the loop ====
 +<​code>​
 +{% for pledge_form in pledge_forms %}
 +<form method="​post"​ class="​generated-form"​ id="​form-{{forloop.counter}}">​
 +...
 +</​code>​
 ==== Numeric loop  ==== ==== Numeric loop  ====
 <​code>​ <​code>​
Línea 59: Línea 85:
 <​code>​ <​code>​
 <​textarea onclick="​this.focus();​this.select()"​ style="​width:​ 100%;">​ {% filter force_escape %} {% debug %} {% endfilter %}</​textarea>​ <​textarea onclick="​this.focus();​this.select()"​ style="​width:​ 100%;">​ {% filter force_escape %} {% debug %} {% endfilter %}</​textarea>​
 +</​code>​
 +
 +==== Add variables ====
 +You can set a variable with ''​as''​ on your templates:
 +<​code>​
 +{% url '​planning'​ as planning_url %}
 +</​code>​
 +Then you can use it later:
 +<​code>​
 +<a href="​{{ planning_url }}"...
 </​code>​ </​code>​
wiki2/python/django/templates.1550339613.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)