所以我有一个带有 jquery 的 django 项目,用于在前端进行交互。我已经有 .env 文件来存储 django settings.py 使用的数据库配置,但我需要 jquery 才能访问 .env 文件。
根据我在 dotenv 文档中阅读的内容,我需要使用 npm 或 yarn 安装 dotenv。但我认为 jquery 没有/使用 npm?我是 javascript 的新手
所以我有一个带有 jquery 的 django 项目,用于在前端进行交互。我已经有 .env 文件来存储 django settings.py 使用的数据库配置,但我需要 jquery 才能访问 .env 文件。
根据我在 dotenv 文档中阅读的内容,我需要使用 npm 或 yarn 安装 dotenv。但我认为 jquery 没有/使用 npm?我是 javascript 的新手
您的脚本无法访问 .env,因为它在您用户的浏览器中运行。
首先,如果您的 API 与您的页面本身托管在同一个域上,则无需指定主机名,只需使用相对 URL ('/api/v1/path/to/resource/')。这样你的脚本就不需要知道主机了。此外,在 Javascript 中,document.location
将为您提供有关当前主机的所有信息。
其次,如果它不一样,或者您希望 Django 设置其他 URL 参数以供您的脚本使用,请使用上下文变量在模板中设置一个变量。例如,如果您的视图获取settings.API_URL
并将其作为api_url
上下文传递,您可以在模板中执行此操作:
<script>var APIUrl = "{{ api_url }}"</script>
然后,只要你的 jQuery 脚本在这个变量被定义之后运行,它就可以访问它。