We can edit the view we just created so that it uses a template. Note we commented out the html created previously and have added the template below it.
def simple_view(request): addresses = Address.object.all() first_address = address[0] resident_name = str(first_address.resident) # html = "Name: "+resident_name+"Address:"+ first_address.street_name+"" return render(request, 'helloworld/simple.html', {'address':first_address, 'name': resident_name})
We’re using a template called simple.html. We haven’t created this yet.
By convention the Django app will keep the templates in a directory called templates – this can be changed in the settings.
We’ve previously created the helloworld subdirectory in templates so we just need to go here and add a file called simple.html.
<!DOCTYPE html> <html> <head></head> <body> <h1>Simple Title For This Page</h1> <p> Name: {{ name }}<br /> Address: {{ address }} </p> </body> </html>
We can use code instead of variable names, eg
Name: {% name.upper() %}
We can also do this:
templates/helloworld/base.html
<!DOCTYPE html> <html> <head> <meta name="keywords" content="HTML,Django,Tutorial"> </head> <body> {% block content %} {% endblock %} </body> </html>
templates/helloworld/simple.py
{% extends 'base.html' %} {% block content %} <h1>Simple Title For This Page</h1> <p> Name: {{ name }}<br /> Address: {{ address }} </p> {% endblock %}
Leave a Reply