【问题标题】:How to access .env file in jquery?如何在 jquery 中访问 .env 文件?
【发布时间】:2020-01-29 16:55:09
【问题描述】:

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

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

【问题讨论】:

  • 那是不可能的。 Javascript/jquery 在前端运行,即在您用户的浏览器中。您正在谈论的 .env 位于运行 Django 的服务器上。你到底想达到什么目的?
  • @dirkgroten 我想将主机名存储在 .env 文件中。我使用 jquery 从 django rest 框架中访问 API。问题是在本地运行时,我使用“localhost”,而当我部署代码时,它需要使用不同的 url/host。

标签: javascript jquery django dotenv


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-11
    • 2021-01-03
    • 2021-03-16
    • 1970-01-01
    • 2021-02-19
    • 2021-10-18
    • 2019-05-11
    • 2022-06-21
    相关资源
    最近更新 更多