#17549 closed New feature (fixed)
Add link to open URL from URLField
Reported by: | Chris Wilson | Owned by: | nobody |
---|---|---|---|
Component: | contrib.admin | Version: | dev |
Severity: | Normal | Keywords: | |
Cc: | tomas.ehrlich@… | Triage Stage: | Accepted |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | yes |
Description
It's useful for URLField to give you a way to open the URL; otherwise you might as well use a CharField.
class URLFieldWidgetWithLink(AdminURLFieldWidget): def render(self, name, value, attrs=None): html = AdminURLFieldWidget.render(self, name, value, attrs=attrs) if value is not None: final_attrs = dict(href=value, target='_blank') html += " <a %s>(open)</a>" % attributes_to_str(final_attrs) from django.utils.safestring import mark_safe return mark_safe(html) class DocumentAdmin(admin.ModelAdmin): formfield_overrides = { django_fields.URLField: {'widget': URLFieldWidgetWithLink}, }
Attachments (1)
Change History (6)
comment:1 by , 13 years ago
Component: | Forms → contrib.admin |
---|---|
Needs documentation: | set |
Needs tests: | set |
Patch needs improvement: | set |
Triage Stage: | Unreviewed → Accepted |
comment:2 by , 12 years ago
Needs documentation: | unset |
---|---|
Needs tests: | unset |
Patch needs improvement: | unset |
I've turned the ad-hoc code in the description into a proper patch for AdminURLFieldWidget and added tests as well as a short mention of this new feature in the docs.
comment:3 by , 12 years ago
Cc: | added |
---|---|
Version: | 1.3 → master |
Pull request has broken tests with latest checkout of Django:
NameError: global name 'force_unicode' is not defined
in django/contrib/admin/widgets.py.
I've just renamed force_unicode to force_text and tests passed.
comment:4 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
I suppose the code in the ticket description is the patch; a unified diff would be much easier to apply...