Почему не отображается django select2?
поставил django-select2 по этой и этой инструкции, но select не показывает, в чем дело?
settings.py
INSTALLED_APPS = [
...
'django_select2',
]
main urls.py
urlpatterns = [
...
path('select2/', include('django_select2.urls')),
]
app models.py
class Clients(models.Model):
name = models.CharField(max_length=150, blank=True)
phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$')
phone = models.CharField(validators=[phone_regex], max_length=17)
def __str__(self):
return self.phone
app forms.py
class PhoneSelect2Widget(s2forms.ModelSelect2Widget):
search_fields = ('phone__icontains',)
queryset = Clients.objects.all()
class RelatedAddForm(forms.ModelForm):
phone = forms.ModelChoiceField(
widget=PhoneSelect2Widget,
queryset=Clients.objects.all())
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(RelatedAddForm, self).__init__(*args, **kwargs)
self.fields['phone'].label = 'Телефон'
class Meta:
model = Clients
fields = ['phone']
html
<head>
...
<script src="/static/jquery/jquery-3.6.0.min.js"></script
...
</head>
<body>
...
<select name="clients-phone" lang="ru" data-minimum-input-length="2"
data-theme="default" data-allow-clear="false" data-ajax--url="/select2/fields/auto.json"
data-ajax--cache="true" data-ajax--
type="GET" class="select2 django-select2 django-select2-heavy" required="" id="id_clients-phone" data-
field_id="IjhlNDRlZjNhLTU3NGYtNDBhZC1iYjdlLTk0YmNjZDA4Zjk1YSI:1qSxRI:z4boTWi5hy1iJFmT968PxuRP6_sgoAKktThsPYp3mmI">
</select>
...
</body>
Источник: Stack Overflow на русском