jQuery.Deferred exception: $(...).select2 is not a function TypeError: $(...).select2 is not a function at HTMLSelectElement.<anonymous> (http://localhost:8000/static/autocomplete_light/select2.js:102:17) at HTMLDocument.dispatch (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:41772) at HTMLDocument.y.handle (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:39791) at Object.trigger (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:69551) at HTMLSelectElement.<anonymous> (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:70146) at Function.each (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:2573) at w.fn.init.each (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:1240) at w.fn.init.trigger (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:70122) at HTMLSelectElement.initialize (http://localhost:8000/static/autocomplete_light/autocomplete.init.js:47:20) at Function.each (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:2573) undefinedw.Deferred.exceptionHook @ jquery.min.js:2c @ jquery.min.js:2setTimeout (async)(anonymous) @ jquery.min.js:2u @ jquery.min.js:2fireWith @ jquery.min.js:2fire @ jquery.min.js:2u @ jquery.min.js:2fireWith @ jquery.min.js:2ready @ jquery.min.js:2_ @ jquery.min.js:2jquery.min.js:2 Uncaught TypeError: $(...).select2 is not a function at HTMLSelectElement.<anonymous> (select2.js:102) at HTMLDocument.dispatch (jquery.min.js:2) at HTMLDocument.y.handle (jquery.min.js:2) at Object.trigger (jquery.min.js:2) at HTMLSelectElement.<anonymous> (jquery.min.js:2) at Function.each (jquery.min.js:2) at w.fn.init.each (jquery.min.js:2) at w.fn.init.trigger (jquery.min.js:2) at HTMLSelectElement.initialize (autocomplete.init.js:47) at Function.each (jquery.min.js:2)class CustomerEntryForm(ModelForm): referred_from = forms.ModelChoiceField(queryset=ReferredFrom.objects.all(), widget=autocomplete.ModelSelect2(url='referred-from-autocomplete', attrs={
'data-placeholder': 'Search...', }))
class Meta: model = Customer widgets = { 'notes': forms.Textarea(attrs={'rows': 2, 'cols': 30}), } fields = ['referred_from', 'nickname', 'first_name', 'last_name', 'home_address', 'birthdate', 'phone', 'email', 'notes', 'ID1', 'ID2', 'DOC1', 'DOC2']
def customer_new(request, representative): rep_obj = Representative.objects.get(alias=representative) if request.method == "POST":
form = CustomerEntryForm(request.POST, files=request.FILES)
if form.is_valid(): instance = form.save(commit=False) instance.entered_by_rep = rep_obj instance.save() return redirect('customer_details', pk=instance.id) else: form = CustomerEntryForm() return render(request, 'transactions/customer_new.html', {'form': form})
{% extends 'base.html' %}
{% load static %}
{% block content %}
{{ form.media }}
<div> <h1>Nouveau Client / New Customer<br></h1>
<form method="POST" class="transaction-form" enctype='multipart/form-data'> {% csrf_token %} <table class="table table-striped"> {{ form.as_table }} </table> <input type="submit" class="btn btn-primary btn-block" value="Save" >
</form>
</div>
{% endblock %}
{% extends "base.html" %}
{% load static %}
{% block content %}
{% if form.errors %} {% for field in form %} {% for error in field.errors %} <div class="alert alert-danger"> <strong>{{ error|escape }}</strong> </div> {% endfor %} {% endfor %} {% for error in form.non_field_errors %} <div class="alert alert-danger"> <strong>{{ error|escape }}</strong> </div> {% endfor %} {% endif %}
{{ form.media }}
<div style="margin: 0px 0px 70px 0px;">
<h1>ATM Balance Transaction</h1>
<form method="POST" class="transaction-form"> {% csrf_token %} <table class="table table-striped"> {{ form.as_table }} </table>
<input type="submit" class="btn btn-primary btn-lg btn-block" value="Save"> </form></div>
{% endblock %}