#13398 closed (invalid)
reverse() causes exception if run in views.py, outside of a view.
Reported by: | cbarnell | Owned by: | nobody |
---|---|---|---|
Component: | Uncategorized | Version: | dev |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Running reverse('my_url_conf_name') inside of views.py will raise ViewDoesNotExist exception.
Example:
# myproject.apps.someapp.views.py from django.core.urlresolvers import reverse foo_url = reverse('foo_view') def spam_view(): return HttpResponse('Hello World') # Running any view in this module will raise something like: # "Tried spam_view in module myproject.apps.someapp.views. Error was: 'module' object has no attribute 'spam_view'" # Notice that 'spam_view' isn't even the view I passed in, and in fact if I delete the call to reverse() I can visit the 'spam_view' and it works fine. # If I put the call to reverse('foo_view') inside of a view, and visit that view to render the url out to a page, it works just fine.
Note:
See TracTickets
for help on using tickets.
Update: Whatever views.py module you do this in, the exception will state the last view in that module.