Render_to_string und response.content.decode () stimmen nicht überein

Ich schreibe mein erstesDjango App, indem Sie diesem Buch folgen:

http: //chimera.labs.oreilly.com/books/1234000000754/ch05.html#_passing_python_variables_to_be_rendered_in_the_templat

In dem Buch gibt es einen Test, der bestätigt, dass der HTML-Code so zurückgegeben wird, wie er soll. Hier ist der Test:

def test_home_page_returns_correct_html(self):
        request = HttpRequest()
        response = home_page(request)
        expected_html = render_to_string('home.html')
        print(expected_html)
        print(response.content.decode())
        self.assertEqual(response.content.decode(), expected_html)

Mein Test schlägt auf dem @ feassertEqual test weil ich ein @ hinzugefügt hacsrf token in meinem HTML mit demDjango Template Language. So sieht meine HTML-Seite aus:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>To-Do lists</title>
</head>
<body>
    <h1>Your To-Do list</h1>
    <form method="POST">
            <input name="item_text" id="id_new_item" placeholder="Enter a to-do item"/>
            {% csrf_token %}
    </form>

    <table id="id_list_table">
        <tr><td>{{ new_item_list }}</td></tr>
    </table>
</body>
</html>

Meine Zusicherung schlägt aufgrund des @ ferender_to_string -Methode ohne Token. Hier ist was meine beidenprint Aussagen in meinem Testausdruck enthalten:

F<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>To-Do lists</title>
</head>
<body>
    <h1>Your To-Do list</h1>
    <form method="POST">
            <input name="item_text" id="id_new_item" placeholder="Enter a to-do item"/>

    </form>

    <table id="id_list_table">
        <tr><td></td></tr>
    </table>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>To-Do lists</title>
</head>
<body>
    <h1>Your To-Do list</h1>
    <form method="POST">
            <input name="item_text" id="id_new_item" placeholder="Enter a to-do item"/>
            <input type='hidden' name='csrfmiddlewaretoken' value='VAiGvXZLHCjxWEWdjhgQRBwBSnMVoIWR' />
    </form>

    <table id="id_list_table">
        <tr><td></td></tr>
    </table>
</body>
</html>
F.

Er hat dieses Problem nicht im Buch (er benutzt1.8), also habe ich mich gefragt, ob sich das Verhalten der Methode geändert hat oder wie ich diesen Test zum Bestehen schreiben würde.