2016-03-22 6 views
0

Ich habe benutzerdefinierte Indexansicht erstellt. urls.py:django-cms und admin interface configct

url(r'^', include('cms.urls')), 
url(r'^', 'myapp.views.index', name='index'), 

in views.py:

from cms.utils import get_template_from_request 
def index(request): 
    template = get_template_from_request(request) 
    ..... 
    return render(request, template) 

Wenn ich versuche, 127.0.0.1:8000/admin i django admin Zugriff auf einen Fehler

'NoneType' Objekt hat kein Attribut ‚pk '

weil in meiner index.html ist TemplateTag {% product_list request.current_page %}, für die current_page benötigt wird. Ich denke, das passiert, weil Django meine Indexseite in django admin rendert, wo es nicht sollte. Was kann ich tun, um das zu beheben?

Antwort

0

Ich denke, der einfachste Weg, um Ihr Problem zu beheben, ist die URLs der Admin-Site vor diesen 'Index' und 'cms' wie in the Django documentation site erläutert. Ihr URL-Muster in der urls.py Datei würde wie folgt sein:

... 
    url(r'^admin/', admin.site.urls), 
    url(r'^', include('cms.urls')), 
    url(r'^', 'myapp.views.index', name='index'), 
    ... 
+0

Ich habe das schon. Wenn ich nicht 'url (r '^', 'myapp.views.index', name = 'index') hatte, war alles in Ordnung. Auch die Änderung der Reihenfolge von "index" und "cms" URLs hilft nicht. –

0

Früher hatte ich url(r'^myapp/', include('myapp.urls')), geändert url(r'^', include('myapp.urls')) und es funktioniert.

Verwandte Themen