1

所以我有一个带有 jquery 的 django 项目,用于在前端进行交互。我已经有 .env 文件来存储 django settings.py 使用的数据库配置,但我需要 jquery 才能访问 .env 文件。

根据我在 dotenv 文档中阅读的内容,我需要使用 npm 或 yarn 安装 dotenv。但我认为 jquery 没有/使用 npm?我是 javascript 的新手

4

1 回答 1

2

您的脚本无法访问 .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 脚本在这个变量被定义之后运行,它就可以访问它。

于 2019-09-30T11:54:54.900 回答