Black Magic
Black Magic

Reputation: 2766

Django app urls not working properly

I have the following base urls file:

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

And my planner app contains the following urls:

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

The problem I am having is when going to: http://localhost:8000/agenda/skirm/41/ It keeps loading the SkirmList view instead of the SkirmDetailView.

It's propably obvious to most but I am a beginner with Django. Any help is appreciated, thanks

Upvotes: 0

Views: 282

Answers (1)

knbk
knbk

Reputation: 53669

The regex r'^' matches any string. It just says the string needs to have a start. Every string has a start, so...

You need to include an end anchor as well:

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

This regex looks for the start of the string, followed immediately by the end, i.e. an empty string. It won't match the /agenda/skirm/41/ url.

Upvotes: 3

Related Questions