3

NoReverseMatch at /login/

Reverse for '' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

I've located what I think is the error in urls.py

    urlpatterns = patterns('',
        url(r'^/?$', 'util.frontpage.frontpage', name='frontpage'),
        (r'^schedule/', include('schedule.urls')),
        (r'^user/', include('usermanagement.urls')),
        (r'^group/', include('groupmanagement.urls')),
    )

    if settings.DEV_SERVER:
        urlpatterns += staticfiles_urlpatterns()
        urlpatterns += patterns('',(r'^login/$', 'django.contrib.auth.views.login'),
            (r'^media/(?P<path>.*)$', 'django.views.static.serve',
                {'document_root': settings.MEDIA_ROOT}),
        )

As it seems it doesn't find a pattern to match ''.

This is the login.html template:

{% extends "admin/base_site.html" %}

<link href="{{ STATIC_URL }}admin/css/login.css" rel="stylesheet">

{% block bodyclass %}login{% endblock %}
{% block content_title %}{% endblock %}
{% block breadcrumbs %}{% endblock %}

{% block content %}

{% if form.errors %}
<p class="errornote">Brukernavn/passord stemte ikke. Prøv igjen.</p>
{% endif %}
<div id="content-main">
<form action="{% url django.contrib.auth.views.login %}" method="post" id="login-form">
  {% csrf_token %}
  <div class="form-row">
    {{ form.username.label_tag }}
    {{ form.username }}
  </div>
  <div class="form-row">
    {{ form.password.label_tag }}
    {{ form.password }}
  </div>
  <div class="submit-row">
    <input type="hidden" name="next" value="{{ next }}" />
    <label>&nbsp;</label><input type="submit" value="Logg inn" />
  </div>
</form>

<script type="text/javascript">
document.getElementById('id_username').focus()
</script>
</div>
{% endblock %}

I'm trying to port a Django App from 1.4.15 to 1.7.3 and so far it's been going Okei but I don't really know how to fix this error or what have changed in the urls.py. It seems to be a change in how 1.7.3 resolves urls any help is deeply appreciated. Please ask if you need more information.

Removing '' results in

TypeError at /
can only concatenate tuple (not "str") to tuple
user123577
  • 121
  • 2
  • 12

1 Answers1

5

{% url %} now has a slightly different syntax. You should put quotes around the url name:

{% url 'django.contrib.auth.views.login' %}
catavaran
  • 44,703
  • 8
  • 98
  • 85