jugadengg
jugadengg

Reputation: 99

Django: The requested URL was not found on this server

this is list of some of the URLs I am using for a Django project.

url(r'^pt_data/$', views.preliminary_data, name='Preliminary Data'),
    url(r'^pt_test_detail/$', views.pt_test_detail, name='Pt Test Detail'),
    url(r'^pt_test_testdetail/$', views.pt_test_test_detail, name='Pt Test Detail '),
    url(r'^pt_test_syllabus/$', views.pt_test_syllabus, name='Pt Test Detail '),  # Detail about the syllabus
    url(r'^test/individual/graph', views.test_individual_graph, name='Test Individual Graph')

Except test/individual/graph api, no other url is found on server. I have corresponding functions written in views. I get following error, for reasons unknown.

The requested URL /pt_test_syllabus was not found on this server. Someone please tell what am i missing.

Upvotes: 1

Views: 3789

Answers (2)

RemcoGerlich
RemcoGerlich

Reputation: 31250

Your URLs only match when there is a / at the end, and you're testing without that.

By default, if an URL without ending slash isn't found, Django automatically retries the URL with a slash appended to it. You appear to have turned that off.

Check that:

  • The APPEND_SLASH setting is True.
  • django.middleware.common.CommonMiddleware is in the MIDDLEWARE setting.

Upvotes: 1

Nabeel Ahmed
Nabeel Ahmed

Reputation: 19232

The problem is the missing trailing (at the end) slash /, make it:

url(r'^pt_test_syllabus', views.pt_test_syllabus, name='Pt Test Detail '),

or simply, request the page at /py_test_syllabus/ - note the / at the end.

Upvotes: 0

Related Questions