Как импортировать .py файл из статического каталога django из шаблона brython.html?

Как сказано в заголовке, я запускаю веб-приложение django с использованием Brython (НЕ Javascript), размещенное на Heroku, и хотел бы импортировать файл .py, расположенный в папке static. Я могу импортировать и отобразить содержимое .py файла, но когда я пытаюсь импортировать его, веб-страница остается пустой (белый экран) без ошибок (статус 200). Возможно, моя отладка недостаточно развита, чтобы поймать ошибку, но обычно я получаю отслеживание, когда у меня есть ошибки, поскольку отладка включена. Так что статус 200 и пустой белый экран важны, я считаю. Хотя отладка не является темой моего сообщения, любые краткие соображения о том, почему я получаю такой результат, были бы интересны.

Вот код, который я пробую в html-шаблоне, с парой неудачных примеров и одним неоптимальным решением, которое работает в основном так, как ожидалось:

<body onload="brython()">
  <script type="text/python">
    from browser import document, html

    # This line works and displays the contents of the .py file in browser,
    # used to rule out my staticfile options in settings

    document <= html.H1( open("{% static 'my_py_script.py' %}").read(), Id="main") 

    # Here is one method I've tried that causes the browser to remain blank on load
    # even though status is 200. I hope it will demonstrate what I'm aiming for.

    import "{% static 'my_py_script.py' %}"


    # I've seen this line suggested on stackOverflow as a non-brython solution
    # It also causes the page to be blank, status 200. I'm including it here so
    # people know I've checked the threads, but also curious if it is just
    # incompatible with Brython, or if there is something I'm doing wrong here?

    from django.templatetags.static import static


    # This next line executes with the desired result, but I've read that exec() is
    # quite slow and I'd prefer to use Python's import command if possible.
    # If this is not accurate, please let me know!

    exec(open("{% static 'my_py_script.py' %}").read())

  </script>
</body>

Заранее спасибо за любую помощь!

Вернуться на верх