如何用自定义变量替换 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的主要内容,如果未能解决你的问题,请参考以下文章
Cordova android - 如何用生成的替换自定义 build.gradle
Java 类 TrayIcon,通知消息。如何用自定义声音替换系统声音?