2011-07-09 12 views
5

Błąd:Django: Caught NoReverseMatch podczas renderowania: Rewers dla '*' argumentów '()' i argumentów słowa kluczowego '{}' Nie znaleziono

Caught NoReverseMatch while rendering: Reverse for 'archive' with arguments '()' and keyword arguments '{}' not found. 

Template error 

In template /home/bravedick/Aptana Studio 3 Workspace/blog/templates/homepage/index.html, error at line 7 

Linia 7:

6 <a href="{% url index %}">Index</a> 
7 <a href="{% url archive %}">Archive</a> 
8 <a href="{% url contacts %}">Contacts</a> 

głównym urls.py:

from django.conf.urls.defaults import patterns, include, url 

# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    # Examples: 
    (r'^$', include('blog.apps.homepage.urls')), 
    # url(r'^$', 'blog.views.home', name='home'), 
    # url(r'^blog/', include('blog.foo.urls')), 

    # Uncomment the admin/doc line below to enable admin documentation: 
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    url(r'^admin/', include(admin.site.urls)), 
) 

moje urls.py:

from django.conf.urls.defaults import * 

urlpatterns = patterns('blog.apps.homepage.views', 
    url(r'^$', 'index', name='index'), 
    url(r'^about/$', 'about', name='about'), 
    url(r'^archive/$', 'archive', name='archive'), 
    url(r'^contacts/$', 'contacts', name='contacts'), 
) 

odsłony:

from django.shortcuts import render_to_response 
from blog.apps.data.models import Entry 

def index(request): 
    entries = Entry.objects.published_entries().order_by('-id') 
    ctx = {'entries':entries} 
    return render_to_response("homepage/index.html", ctx) 

def about(request): 
    return render_to_response("homepage/about.html") 

def contacts(request): 
    return render_to_response("homepage/contacts.html") 

def archive(request): 
    return render_to_response("homepage/archive.html") 

Odpowiedz

9

widzę jeden natychmiastowy problem ze swoim głównym konfiguracji url. Masz symbol "$", oznaczający koniec adresu URL w instrukcji include.

Linia ta powinna przeczytać:

(r'^', include('blog.apps.homepage.urls')), 

Oto the documentation for include.

Sprawdź również, czy blog.apps.homepage.urls jest prawidłową ścieżką importu. Uruchom następujące czynności, aby otworzyć powłokę django:

./manage.py shell 

Następnie wpisz:

from blog.apps.homepage import urls 

Jeśli pojawi się błąd importu, starają się wypracować jaka powinna być właściwa ścieżka import i użyć jej w swojej obejmują komunikat.

+0

masz rację. dzięki. – bravedick

Powiązane problemy