Python Flask Basics Templates and Static Files Template Inheritance

template inheritance

Remove everything from "index.html" except for the extends and block tags and their contents. iBummer! your "index.html" sems to have extra content.........WHAT DOES THIS MEAN

flask_app.py
from flask import Flask
from flask import render_template

app = Flask(__name__)


@app.route('/')
def index():
    return render_template('index.html')
templates/index.html
{%extends "layout.html"%}
{%block title%}{{ super() }} Homepage{%endblock%}
{%block content%}<h1>Smells Like Bakin'!</h1><p>Welcome to my bakery web site!</p>{%endblock%}
templates/layout.html
<!doctype html>
<html>
<head><title>{% block title %}Smells Like Bakin'{% endblock %}</title></head>
<body>
  {% block content %}
<h1>Smells Like Bakin'!</h1>
<p>Welcome to my bakery web site!</p>
{% endblock %}

1 Answer

Ricky Catron
Ricky Catron
13,018 Points

I believe you need to remove the h1 and p from the content block in layout because index.html is going to provide the content there.

--Ricky

wooooooo just that simple sure!! thanx you very much Ricky i got the concept now