In the previous chapter, you may have noticed something peculiar in how we returned the text in our example views. Namely, the HTML was hard-coded directly in our Python code, like this:
def current_datetime(request): now = datetime.datetime.now() html = "It is now %s." % now return HttpResponse(html)
Although this technique was convenient for the purpose of explaining how views work, it's not a good idea to hard-code HTML directly into your views. Here's why:
Any change to the design of the page requires a change to the Python code. The design of a site tends to change far more frequently than the underlying Python code, so it would be convenient if the design could change without needing to modify the Python code.
This is only a very simple example. A common webpage template has hundreds of lines of HTML and scripts. Untangling and troubleshooting program code from this mess is a nightmare (cough-PHP-cough).
Writing Python code and designing...