On Sun, Apr 3, 2011 at 11:35 PM, xiao_haozi <matthew.ma...@gmail.com> wrote:
> I'm running into some perplexing regex issues in urls.py and getting > to my admin section. > It worked before but now that I have another view added in, anything > beyond the index regex is getting fed into the "url/" section rather > than admin: > > I've included my urls.py section and the 500 error. > > from django.conf.urls.defaults import patterns, include, url > > # Uncomment the next two lines to enable the admin: > from django.contrib import admin > admin.autodiscover() > > urlpatterns = patterns('', > # Examples: > # url(r'^ > , 'Stumpy.views.home', name='home'), > # url(r'^Stumpy/', include('Stumpy.foo.urls')), > > # show the index from / > url(r'^, 'shortener.views.index'), > # get a url for redirection /shorty > url(r'^(?P<short>\w+)/, 'shortener.views.detail'), > # send a url to be shortened from /url/someencodedurl > url(r'^url/(?P<url>\S+)/, 'shortener.views.submit'), > > # Uncomment the admin/doc line below to enable admin > documentation: > url(r'^admin/doc/', include('django.contrib.admindocs.urls')), > # Uncomment the next line to enable the admin: > url(r'^admin/', include(admin.site.urls)), > ) > > > judging by the 500 error it seems to be sending it to the submit view > No, the traceback below shows that the code is in the detail view. > > Environment: > > Request Method: GET > Request URL: http://192.168.11.4:8001/admin/ > > [snip] > Traceback: > File "/home/mugen/programming/django/django/core/handlers/base.py" in > get_response > 111. response = callback(request, callback_args, **callback_kwargs) > File "/home/mugen/programming/Stumpy/shortener/views.py" in detail > 11. thisurl = url.objects.get(shorturl=short) File "/home/mugen/ > line 111 in views.py i(n detail). Your urlpattern for this view is: url(r'^(?P<short>\w+)/, 'shortener.views.detail'), url patterns are scanned in order, and the first one that matches is used. /admin/ matches that regex.so detail is called. Either move the entry for admin above this one (in which case you can never have a short value of "admin"), leave it where it is and give it a different prefix than /admin/ -- one that will not match this detail pattern, or change this detail pattern so that /admin/ does not match it. (You should also fix your detail view so it does not generate a server error when called with a short value that does not exist...a 404 would be a more typical response to that situation.) Karen -- http://tracey.org/kmt/ -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.