在Javascript HTML中访问Django视图中的上下文变量(列表)[重复]
Posted
技术标签:
【中文标题】在Javascript HTML中访问Django视图中的上下文变量(列表)[重复]【英文标题】:Accessing context variable (a list) in Django Views in Javascript HTML [duplicate] 【发布时间】:2020-04-18 21:01:28 【问题描述】:我在尝试在我的 html javascript 中访问我的 django 视图中的上下文变量时遇到了一些问题。我想访问作为列表的“不干净”上下文,并在我的 html 脚本标记中将其用作列表。任何帮助表示赞赏。谢谢你。以下是我的一些代码:
views.py
context =
'unclean' : unclean
【问题讨论】:
你试过用 unclean
吗?
是的。但是,在 javascript 中访问这样的变量使其成为“字符串”类型。我需要将它用作 javascript 中的“数组”类型进行操作。感谢您的帮助。
【参考方案1】:
Here is a demo of latest version,和你的情况类似。
python 代码
from django.template import loader
from .models import Question
def index(request):
latest_question_list = Question.objects.order_by('-pub_date')[:5]
template = loader.get_template('polls/index.html')
context =
'latest_question_list': latest_question_list,
return HttpResponse(template.render(context, request))
HTML 代码:
% if latest_question_list %
<ul>
% for question in latest_question_list %
<li><a href="/polls/ question.id /"> question.question_text </a></li>
% endfor %
</ul>
% else %
<p>No polls are available.</p>
% endif %
【讨论】:
我没有投反对票,我只是通过review queues,因为其他人已将您的帖子标记为低质量(仅链接)。为防止这种情况再次发生,我建议阅读 How do I write a good answer 帮助页面。 谢谢!我仍然不能同意其他人这样做,他可以写下他的答案或只是提醒我。这是一个很简单的问题。【参考方案2】:您可以使用json_script
标记将python 对象作为JS 变量包含在您的模板中
unclean|json_script:"unclean-data"
<script>
var unclean = JSON.parse(document.getElementById('unclean-data').textContent);
</script>
【讨论】:
以上是关于在Javascript HTML中访问Django视图中的上下文变量(列表)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 HTML 中的 JavaScript 在 Django 中保存模型实例
Django:如何在javascript中访问当前登录用户的ID?
Django:如何将python变量值传递给javascript文件?
如何使用Django模板在javascript中访问ajax jquery中的模板变量