如何用自定义变量替换 DJANGO 中 JAVASCRIPT 脚本生成的 Google Map Key

Posted

技术标签:

【中文标题】如何用自定义变量替换 DJANGO 中 JAVASCRIPT 脚本生成的 Google Map Key【英文标题】:How to replace Google Map Key generated by JAVASCRIPT script in DJANGO by a custom variable 【发布时间】:2020-02-02 06:27:32 【问题描述】:

我正在尝试找到一种方法来隐藏我在 javascript 脚本上显示的谷歌地图键。

密钥是从 django 设置生成的。

我不确定如何使用javascript script and src 正确实现它

settings.py

GOOGLE_MAP = "XZZZZZZX"

views.py

def foo_list(request):
    """
    Render list of foo.
    """
    foo = Foo.objects.all()

    # Google Map Key
    google_map_key = settings.GOOGLE_MAP

    context = 
            'foo': foo, 
            'google_map_key': google_map_key
            

    return render(request, 'snippet/index.html', context)

HTML

% extends "base.html" %
% load static %


% block content %
    <!-- Render Map on HTML -->
    <div id="map"></div></br></br>

    <!-- Pass the Google Map key variable to Front end -->
    <div id="google_map" style="display:none" value=" google_map_key "></br>

% endblock %



% block key %
     <!-- Grab the Google Map key value from HTML above -->
     var name_ = document.getElementById('google_name').getAttribute("value");
    
     <!-- Google Map Key -->
    <script id="name" data-name="value" src="https://maps.googleapis.com/maps/api/js?key=XZZZZZZX&callback=initMap" async defer></script>

% endblock %

我怎样才能用后端的自定义变量替换谷歌地图键?

【问题讨论】:

【参考方案1】:

有一些技巧可以让某人更难查看 javascript 代码,但没有办法让某人明确和完全隐藏 javascript 代码。

保护您的 API 密钥的唯一方法是转到您的 developers console 并添加应用程序限制。应用程序限制控制哪些网站、IP 地址或应用程序可以使用您的 API 密钥。

【讨论】:

以上是关于如何用自定义变量替换 DJANGO 中 JAVASCRIPT 脚本生成的 Google Map Key的主要内容,如果未能解决你的问题,请参考以下文章

如何用不同的 Xib 替换我的自定义视图

Cordova android - 如何用生成的替换自定义 build.gradle

Java 类 TrayIcon,通知消息。如何用自定义声音替换系统声音?

如何用自定义alterna替换管理标题中的默认WordPress-W-logo

如何用自定义 <comment> 元素替换 HTML 注释

如何用自定义字符串完全替换 pytest 输出以进行测试?