Restarting the server will pick up the changes, sounds like either the server isn't being restarted correctly, or perhaps there is a browser caching issue. (Try clearing the cache, see if that helps). If you are running the django server as a run configuration in eclipse, then you should see the incoming requests.
What do the changes in your urls.py look like? Do you have any middleware that are processing the incoming urls first?
Perhaps there is something in your request that's not getting picked up. When testing, I sometimes print out the requests as they come in before they're handled by urls.py to see what they contain. You can create a middleware module, like:
myproject.middleware.logrequest - (the module location / filename):
from django.conf import settings
from django.core.urlresolvers import reverse
from logging import getLogger
log = getLogger('my.log')
class LogRequestMiddleware(object):
def process_request(self, request):
parameters = []
for key, value in request.REQUEST.items():
parameters.append('{0}:{1}'.format(key,value))
log.debug('REQUEST: {0}'.format(', '.join(parameters)))
Then, in settings add it to MIDDLEWARE_CLASSES near the top (I put it just under 'django.middleware.common.CommonMiddleware') - in this case, the name would be: 'myproject.middleware.logrequest.LogRequestMiddleware'
I use logging in this case, but print should work just as well.