Python Flask Basics Templates and Static Files Template Inheritance

why doesn't this work?

This code gets rejected by the code checker in the challenge. It just says "didn't find the right contents in the title tag. I have no idea what its asking for. I just swapped out the <title> tags for {% block title %} but it doesn't accept my code.

Help?

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" %}

<!doctype html>
<html>
<head>{% block title %}Homepage{% endblock %}
  </head>

{% block content %}
  <h1>Smells Like Bakin'!</h1>
<p>Welcome to my bakery web site!</p>
{% endblock %}
</html>
templates/layout.html
<!doctype html>
<html>
<head>{% block title %} Smells Like Bakin'{% endblock %}</head>
<body>
{% block content %} {% endblock %}
</body>
</html>

2 Answers

Andreas cormack
Andreas cormack
Python Web Development Techdegree Graduate 27,795 Points

Hi Beth

This is breakdown of how i did the challenge and it passed ok for me.

part1
<!doctype html>
<html>
<head><title>{% block title %} Smells Like Bakin' {% endblock %}</title></head>
<body>
{% block content %}
{% endblock %}  
</body>
</html>


part 2

{% extends 'layout.html' %}
<!doctype html>
<html>
<head><title>Homepage</title></head>
<body>
<h1>Smells Like Bakin'!</h1>
<p>Welcome to my bakery web site!</p>
</body>
</html>

part 3

{% extends 'layout.html' %}
<!doctype html>
<html>
<head><title>Homepage</title></head>
<body>
{% block content %}  
<h1>Smells Like Bakin'!</h1>
<p>Welcome to my bakery web site!</p>
{% endblock %}  
</body>
</html>

part4

{% extends 'layout.html' %}
<!doctype html>
<html>
<head><title>{% block title %}Homepage{% endblock %}</title></head>
<body>
{% block content %}  
<h1>Smells Like Bakin'!</h1>
<p>Welcome to my bakery web site!</p>
{% endblock %}  
</body>
</html>

part5

{% extends 'layout.html' %}
{% block title %}Homepage{% endblock %}
{% block content %}  
<h1>Smells Like Bakin'!</h1>
<p>Welcome to my bakery web site!</p>
{% endblock %}  

part 6

{% extends 'layout.html' %}
{% block title %}{{super()}} Homepage{% endblock %}
{% block content %}  
<h1>Smells Like Bakin'!</h1>
<p>Welcome to my bakery web site!</p>
{% endblock %}
Andreas cormack
Andreas cormack
Python Web Development Techdegree Graduate 27,795 Points

Hi Beth

I think your missing an exclamation mark in the title for layout.html

<!doctype html>
<html>
<head>{% block title %} Smells Like Bakin' !{% endblock %}</head>
<body>
{% block content %} {% endblock %}
</body>
</html>

Nope, not it.

The request from the task is to Put the contents of the <title> tag in "index.html" into the title block.

It started with <head><title>Homepage</title></head> and I changed it to <head>{% block title %}Homepage{% endblock %}</head>

But it doesn't get accepted. its really frustrating as this prevents me from moving on. I am beginning to think the code checker has a glitch.