2016-03-25 26 views
0

Flask'ta bir Jinja2 bloğu oluşturmaya çalışırken bir sorunum var. bu var:Jinja2 blok oluşturma iki kez

layout.html

<!DOCTYPE html> 
<html lang="es-ES"> 
<head> 
    <meta charset="UTF-8"> 
    <title>{% block page_title %}{% endblock %} - misitioweb.es</title> 
</head> 
<body> 
    {% block page_content %} 
     <h1>{% block main_title %}{% endblock %}</h1> 
    {% endblock %} 
</body> 
</html> 

register.html

{% extends 'layout.html' %} 
{% block page_title %}Registrarse{% endblock %} 
{% block page_content %} 
    {{ super() }} 
    {% block main_title %}Registrate aquí{% endblock %} 
    <form action="/register/" method="post"> 
     {{ form.username.label }}{{ form.username() }} <br> 
     {{ form.email.label }}{{ form.email() }} <br> 
     {{ form.password.label }}{{ form.password() }} <br> 
     {{ form.password_compare.label }}{{ form.password_compare() }} <br> 
     {{ form.accept_tos.label }}{{ form.accept_tos() }} <br> 
     {{ form.submit() }} 
    </form> 
{% endblock %} 

sonucudur bu (bu sadece bir örnektir, hiçbir stil hiç) : enter image description here

Gördüğünüz gibi, main_title bloğu, ilk olarak, bunu yapmak istediğim gibi, layout.html dosyasında gördüğünüz gibi bir H1 başlığı olarak tekrarlanır ve daha sonra yalnızca bloğu kayıt altına alıyormuş gibi basit bir metin olarak tekrarlanır. .html. İçeriği içeren başlığı içeren h1'i tutmak için super() şablonunu kullandım. Sadece H1'e ihtiyacım var.

Bunu nasıl düzeltebilirim?

cevap

0

Bu bunu yapabilir:

{% extends 'layout.html' %} 
{% block page_title %}Registrarse{% endblock %} 
{% block main_title %}Registrate aquí{% endblock %} 
{% block page_content %} 
    <form action="/register/" method="post"> 
     {{ form.username.label }}{{ form.username() }} <br> 
     {{ form.email.label }}{{ form.email() }} <br> 
     {{ form.password.label }}{{ form.password() }} <br> 
     {{ form.password_compare.label }}{{ form.password_compare() }} <br> 
     {{ form.accept_tos.label }}{{ form.accept_tos() }} <br> 
     {{ form.submit() }} 
    </form> 
{% endblock %} 
+0

yaptığım sona budur Yani. –