gpt4 book ai didi

javascript - Django 同时将 var 从 View 传递给两个模板

转载 作者:行者123 更新时间:2023-11-30 18:09:13 24 4
gpt4 key购买 nike

我想同时将 var 从 View 传递到模板和 javascript 库 (javascript.js)。可能吗?

View .py:

def setAppOptions(request, map_name):
if request.user.is_authenticated():
app_selected = EzApp.objects.get(app_name=app_name, created_by=request.user)
formset = ezAppOptionFormSet(user=request.user, instance=app_selected)
if request.method == 'POST':
formset = ezAppOptionFormSet(request.POST, instance=app_selected, user=request.user)
if formset.is_valid():
formset.save()

return render_to_response("manage_app_options.html", {'formset': formset}, context_instance=RequestContext(request))
else:
error_msg = u"You are not logged in"
return HttpResponseServerError(error_msg)

模板:

{% extends "basemap.html" %}
{% block library %}
#I want to pass var to this library and to this template in the same time...
<script type="text/javascript" src="/static/javascript.js"></script>
{% endblock %}
{% block content %}
<table border="1">
<tr>
<td>
<h1>Define App options</h1>
{% if formset.errors %}
<p style="color: red;">
Please correct the error{{ formset.errors|pluralize }} below.
</p>
{% endif %}
<form method="post" action="" encrypt="multipart/form-data">{% csrf_token %}
{{ formset.as_p }}
<input type="submit" value="Submit" onclick="initialize()">
</form>
</td>
</tr>
</table>
{% endblock %}

最佳答案

假设您只想保留您的 javascript 文件 js,实现此目的的一种方法是让您的 js initialize 接受一些配置数据。在您的 html 模板中(由 django 呈现,因此可以访问您传递数据的上下文变量

javascript.js

...
function initialize(options) {
...

模板.html

<input type="submit" value="Submit" onclick="initialize({
myvar: {{ value_from_django }},
other_stuff: 10
})">

关于javascript - Django 同时将 var 从 View 传递给两个模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15042226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com