首页 > 解决方案 > 在 Hy 中运行 Django

问题描述

我正在使用 Hy 编写一个 Django 网络服务器,Hy 是一种编译成 Python ast 的 Lisp 方言。.py除了Django 自动查找的特定文件之外,我已经能够在 Hy 中编写所有内容。

我也想用 Hy 编写上述文件,而不是 Python。

.py我可以通过使用这些文件来导入文件来解决这个限制.hy,但我更喜欢更优雅的解决方案。有没有办法让 Django 查找.hy文件而不是这些.py文件?

编辑:将“字节码”更正为“ast”。

标签: djangohy

解决方案


我通常建议使用文件来为这种事情.py导入文件。.hy但是 Django 是开源的,因此如果需要,当然可以修补本地安装。

Djangosettings.py使用DJANGO_SETTINGS_MODULE环境变量找到,然后通过importlib. 理论上,这将适用于 Hy 模块,前提是首先导入 Hy。因此,诀窍是import hy在此之前在某处发表声明。有几种启动 Django 的方法,例如django-admin, manage.py, python -m django. 该import hy语句必须在任何这些尝试导入 Hy 模块之前发生。如果你只是把它放进去manage.py,我认为其他的仍然行不通。

您可能可以创建一个命令行 Hy 脚本,该脚本先导入 Hy 然后再导入manage.py,或者其他任何东西,并使用其argv.


推荐阅读