gpt4 book ai didi

Jquery .load() 在 Django 模板中不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 23:00:42 24 4
gpt4 key购买 nike

我想做的是在模板中呈现一个 html“a”文件。并使用 jquery .load() 将其他 html 文件嵌入到此 a.html 中。但是我的以下代码失败了。

以下是我的a.html内容:

<html>
<head>
{% load staticfiles %}
<script type="text/javascript" src="{% static "js/jquery-1.10.2.js" %}" />
<script>
$(function(){
$("#includeContent").load("abc.html");
});
</script>
</head>
<body>
<div id="includeContent"></div>
</body>
</html>

以下是我的abc.html:

<html>
<body>
<!-- Hello -->
<p>Hello world </p>
</body>
</html>

以下是我的应用树:

- App:
views.py
models.py
- static
-js:
jquery-1.10.2.js
- template:
a.html
abc.html

在 Firebug 调试器中,我可以看到 jquery-1.10.2.js 的源代码,因此我认为 jquery 脚本已成功包含。

我想嵌入到 a.html 中的 abc.html 应该显示“Hello world”但是加载 a.html 后我什么也看不到。

有办法解决这个问题吗?

添加"template"设置:

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},

]

最佳答案

Django 在服务器端工作。它根据请求准备响应。另一方面,jQuery 在客户端工作。所有 jQuery 的事情都发生在用户的浏览器上,load 将简单地向 Django 发出另一个请求。但是 jQuery 无法以任何方式访问 Django 文件,因为用户的浏览器无法访问正确配置的服务器中的任何项目文件(希望是为了安全起见)。

因此在您的代码中 jQuery 将请求特定的 url abc.html,因此您需要在您的 urls.py 中分别定义一个或者基本上重新考虑您的重新设计。

关于Jquery .load() 在 Django 模板中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31181849/

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