Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
d69d9750
Commit
d69d9750
authored
May 09, 2014
by
Carlton Gibson
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1564 from alumni/master
Fixes #1535 (HTML widget missing `id` attribute)
parents
27681014
708c7b3a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
1 deletions
+17
-1
rest_framework/fields.py
+6
-1
rest_framework/tests/test_fields.py
+11
-0
No files found.
rest_framework/fields.py
View file @
d69d9750
...
...
@@ -154,7 +154,12 @@ class Field(object):
def
widget_html
(
self
):
if
not
self
.
widget
:
return
''
return
self
.
widget
.
render
(
self
.
_name
,
self
.
_value
)
attrs
=
{}
if
'id'
not
in
self
.
widget
.
attrs
:
attrs
[
'id'
]
=
self
.
_name
return
self
.
widget
.
render
(
self
.
_name
,
self
.
_value
,
attrs
=
attrs
)
def
label_tag
(
self
):
return
'<label for="
%
s">
%
s:</label>'
%
(
self
.
_name
,
self
.
label
)
...
...
rest_framework/tests/test_fields.py
View file @
d69d9750
...
...
@@ -4,6 +4,7 @@ General serializer field tests.
from
__future__
import
unicode_literals
import
datetime
import
re
from
decimal
import
Decimal
from
uuid
import
uuid4
from
django.core
import
validators
...
...
@@ -103,6 +104,16 @@ class BasicFieldTests(TestCase):
keys
=
list
(
field
.
to_native
(
ret
)
.
keys
())
self
.
assertEqual
(
keys
,
[
'c'
,
'b'
,
'a'
,
'z'
])
def
test_widget_html_attributes
(
self
):
"""
Make sure widget_html() renders the correct attributes
"""
r
=
re
.
compile
(
'(
\
S+)=["
\'
]?((?:.(?!["
\'
]?
\
s+(?:
\
S+)=|[>"
\'
]))+.)["
\'
]?'
)
form
=
TimeFieldModelSerializer
()
.
data
attributes
=
r
.
findall
(
form
.
fields
[
'clock'
]
.
widget_html
())
self
.
assertIn
((
'name'
,
'clock'
),
attributes
)
self
.
assertIn
((
'id'
,
'clock'
),
attributes
)
class
DateFieldTest
(
TestCase
):
"""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment