Add lots of new functions to key_name.py, including path/link_name processing.
Copy various link_name related regex patterns to key_name.py and use them.
Add error checking that raises a key_name.Error exception when name...()
functions are given empty arguments. Hard-code class names, since they match
what was typed into the module.class.__name__ to get the name anyway. This
eliminates dependencies on any modules by key_name.py.
<html>
<head></head>
<body>
<h1>Django Internal Tests: Login</h1>
{% if form.has_errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}
<form method="post" action=".">
<table>
<tr><td><label for="id_username">Username:</label></td><td>{{ form.username }}</td></tr>
<tr><td><label for="id_password">Password:</label></td><td>{{ form.password }}</td></tr>
</table>
<input type="submit" value="login" />
<input type="hidden" name="next" value="{{ next }}" />
</form>
</body>
</html>