Created
January 30, 2019 15:16
-
-
Save YankeeTube/b50cfa7d88f9ece69ed8cde0f5c41a0c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Form Input tag example | |
| # forms.py | |
| def set_field_html_name(field, new_name): | |
| """ | |
| :param field: 대상 필드 | |
| :param new_name: 변경할 이름 type(str) | |
| html tag에 name 옵션을 Django Form Field Variable(변수)가 아닌 | |
| new_name 인자로 강제 할당 | |
| """ | |
| old_render = field.widget.render | |
| def _widget_render_wrapper(name, value, attrs=None): | |
| return old_render(new_name, value, attrs) | |
| cls.widget.render = _widget_render_wrapper | |
| class TestForm(forms.modelsForm): | |
| def __init__(self, *args, **kwargs): | |
| super(TestForm, self).__init__(*args, **kwargs) | |
| set_field_html_name(self.fields['nametest'], "on_change") | |
| nametest = forms.Charfield(required=False, widget=forms.TextInput(attrs={ | |
| 'name':'on_change', | |
| 'id':'test', | |
| 'class':'class', | |
| 'type':'radio', | |
| }) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment