Opened 16 years ago
Closed 13 years ago
#13344 closed Bug (wontfix)
Name collision for "next" template variable between contrib.comments and views.generic.list_detail
| Reported by: | Erik Stein | Owned by: | nobody |
|---|---|---|---|
| Component: | contrib.comments | Version: | 1.2-beta |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Design decision needed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Both the comment system (in post_comment and it's accompagnying forms) and the generic views system (in views.generic.list_detail's legacy template context stuff) use a template variabled named "next". The comment app's templates approve.html, delete.html, flag.html and preview.html render a hidden form field if next is not empty.
If you use for example the list_detail view with a template which renders a comment form for each list item, the comment form wrongly uses the next-value from the list_details view (the next page number). On posting the comment the user get's an 404 error, because the post_comment view now tries to redirect to a wrong URL containing the next page number.
Maybe it's generally a bad idea to use very simple context variable names like next in prepackaged apps.
Attachments (1)
Change History (7)
by , 16 years ago
| Attachment: | 13344.diff added |
|---|
comment:1 by , 16 years ago
| Triage Stage: | Unreviewed → Design decision needed |
|---|
comment:2 by , 15 years ago
| Component: | Contrib apps → django.contrib.comments |
|---|
comment:3 by , 15 years ago
| Severity: | → Normal |
|---|---|
| Type: | → Bug |
comment:6 by , 13 years ago
| Resolution: | → wontfix |
|---|---|
| Status: | new → closed |
django.contrib.comments has been deprecated and is no longer supported, so I'm closing this ticket. We're encouraging users to transition to a custom solution, or to a hosted solution like Disqus.
The code itself has moved to https://github.com/django/django-contrib-comments; if you want to keep using it, you could move this bug over there.
Patch renaming the template variable to "post_comment_next". comment_tests ran successfully.