/ / Додати кнопку в Django ModelForm - django, django-forms

Додайте кнопку в Django ModelForm - django, django-forms

Я створив просту форму, в якій є користувачвказуючи назву (Bloomberg) Ticker. У другому полі користувач вводить адресу веб-сторінки. Звичайно, вона / вона може вручну виправити її, але я хотів би запропонувати йому таку кнопку, щоб додаток містив назву сторінки на основі вмісту поля першого коду, наприклад користувач вводить "CARMPAT FP Equity", а потім додаток пропонує правильно https://www.bloomberg.com/quote/CARMPAT:FP

# forms.py
from django.forms import ModelForm, ValidationError
from pybloomberg.bloomberg import valid_ticker

from .models import Symbol


class SymbolAdminForm(ModelForm):

# Have a button next to address field...

class Meta:
model = Symbol
fields = "__all__"

def clean(self):
cleaned_data = self.cleaned_data
ticker = cleaned_data.get("bloomberg_symbol")
return cleaned_data

def react(self):
# extract the content for the bloomberg_symbol field
address = ...
# manipulate the content for the address field
self.... = address

Відповіді:

0 для відповіді № 1

Якщо ви хочете, щоб пропозиція застосовувалася автоматично після публікації форми, ви можете перемістити свою логіку до методу clean (), і вам потрібно буде дозволити поле адреси порожнім.

def clean(self):
cleaned_data = self.cleaned_data
ticker = cleaned_data.get("bloomberg_symbol")
cleaned_data["address"] = ticker_name_to_address()
return cleaned_data

Якщо ви хочете, щоб пропозиція відображалася для користувачів, коли вони вводять ім'я, ви не маєте іншого вибору, окрім використання JavaScript.