Django - возможно ли передать Model Enums в Template Javascript?
Можно ли в Django передавать значения перечислений из модели
HTML шаблон Django - JS в нижней части
Например, могу ли я в JS сделать что-то вроде
`var enumValue1 = "{{employment_ukrightowork_form.right_to_work_selection}}.UKRightoWorkSelection.PASSPORT"
Django MODEL
Если моя модель в model.py выглядит так:
# U.K. RIGHT TO WORK MODEL
class UK_Right_To_Work(models.Model):
class UKRightoWorkSelection(models.TextChoices):
PASSPORT = 'Passport', _('U.K. or Irish - Passport')
BIRTHCERT = 'Birth Certificate & N.I. Number', _('U.K. or Irish - Birth or Adoption Certificate + Proof of National Insurance Number')
CERTOFREG = 'Certificate of Registration & N.I. Number', _('U.K. or Irish - Certificate of Registration or Naturalisation + Proof of National Insurance Number')
right_to_work_id = models.BigAutoField(verbose_name='U.K. Right to Work ID', primary_key=True, serialize=False, auto_created=True)
right_to_work_selection = models.CharField(verbose_name='U.K. Right to Work selection', max_length=41, choices=UKRightoWorkSelection.choices, blank=False, null=False, default=UKRightoWorkSelection.PASSPORT)
Почему бы не передать их как контекстные переменные?
views.py
from . import models
def render_template(request):
context = {
"options" : models.UK_Right_To_Work.UKRightoWorkSelection
}
return render(request, "template.html", context=context)
Затем в вашем шаблоне:
var enumValue1 = "{{options.PASSPORT}}";
...