from django.db import models
from django.core.exceptions import ValidationError
from django.template import TemplateDoesNotExist
from django.utils.translation import ugettext_lazy as _
from django.template.loader import get_template

def validate_template_path(name):
    try:
        get_template(name, using='tex')
    except TemplateDoesNotExist:
        raise ValidationError(_('Template not found.'))

class TeXTemplateFile(models.Model):
  
    title = models.CharField(max_length=255)
    name = models.CharField(max_length=255, validators=[validate_template_path,])

    class Meta:
        abstract = True