2016-08-18 6 views
0

Ich habe folgende Basis Urls Datei:Django App-URLs nicht richtig funktioniert

urlpatterns = [ 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^agenda/', include('planner.urls', namespace='planner', app_name='planner')) 
] 

Und meine Planer app enthält die folgenden URLs:

urlpatterns = patterns('', 
    url(r'^', SkirmList.as_view(), name='agenda'), 
    url(r'^skirm/(?P<pk>\d+)/$', SkirmDetailView.as_view(), name='skirmdetailview'), 
) 

Das Problem, das ich habe, ist, wenn zu gehen: http://localhost:8000/agenda/skirm/41/ Es lädt weiterhin die SkirmList-Ansicht anstelle der SkirmDetailView.

Es ist wahrscheinlich für die meisten offensichtlich, aber ich bin ein Anfänger mit Django. Jede Hilfe wird geschätzt, danke

+1

Der reguläre Ausdruck in der ersten URL in planner.app könnte etwas extra benötigen: 'url (r '^ $', SkirmList.as_view(), name = 'agenda'),'. Im Moment passt alles zusammen. – Matthias

Antwort

3

Die Regex r'^' entspricht einer beliebigen Zeichenfolge. Es sagt nur, dass die Zeichenfolge einen Anfang haben muss. Jede Saite hat einen Anfang, so ...

Sie müssen auch ein Ende Anker umfassen:

url(r'^$', ...) 

Diese Regex für den Anfang des Strings sieht, unmittelbar gefolgt von dem Ende, das heißt ein leeres Zeichenfolge. Es stimmt nicht mit der URL überein.

+0

Ja! das ist es! Ich habe damit für 2 Tage xD gekämpft. Vielen Dank! –

+1

Als geantwortet bitte, wenn das der Fall ist. :) – Adam

+0

Ja, ich musste ein paar Minuten warten bis ich konnte;) –