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/01/25 07:52]
alfred [Not repeat code]
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 =====
 +
 +==== 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 55: 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.1548402760.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)