Доки и гугл не помогают.
                  
                  
                  
                  
                  
                  Хочу сделать хитрый финт: 
                  
                  
                  — если есть endblock, то логика типа parse until — то есть буду брать содержимое между ними и с ним работать, 
                  
                  
                  — если конца нет — буду иначе. 
                  
                  
                  
                  
                  
                  Для этого на шаге компиляции запускаю парсер, если он не находит конца, то вызывает ошибку:
                  
                  
                  try:
                  
                  
                      nodelist = parser.parse(('endsome',))
                  
                  
                      parser.delete_first_token()
                  
                  
                      return SomeNode(nodelist)
                  
                  
                  except TemplateSyntaxError as e:
                  
                  
                      if 'endsome' in str(e):
                  
                  
                          return SomeNode()
                  
                  
                  
                  
                  
                  в темплейте:
                  
                  
                  {% some %}
                  
                  
                  
                  
                  
                  Все идет нормально: он парсит, не находит закрывашку, идет по пути экспешона, и даже вызывает __init__ в SomeNode()
                  
                  
                  Но после — поднимает ошибку:
                  
                  
                  Unclosed tag on line 10: 'some'. Looking for one of: endblock.
                  
                  
                  
                  
                  
                  Ошибка поднимается из 482-й строки:
                  
                  
                  https://github.com/django/django/blob/stable/3.0.x/django/template/base.py#L482
                  
                  
                  
                  
                  
                  Можно его как-то остановить, мол Успокойся, нет там конца? Можно вообще такой финт сделать? Чего я не понимаю?
                  
                  
                
На жаваскрипте не?
Обсуждают сегодня