这是代码:
views.py :
@csrf_exempt
def post_list(request):
return render(request, 'blog/post_list.html', {})
@csrf_exempt
def show(request):
return render(request, 'tt/readjson.html', {})
urls.py :
from django.urls import path
from . import views
urlpatterns = [
path('', views.post_list),
path('test/', views.data_return),
path('tt/', views.show),
]
readjson.html :
<html>
<head>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script>
$.getJSON("log0.json", function (data) {
$.each(data, function (index, value) {
console.log(value);
});
});
</script>
</head>
<body>
Hello
</body>
</html>
我得到的输出是屏幕上的hello
。但是在控制台日志中,我看到了:
jquery-1.10.2.js:8706 GET http://127.0.0.1:8000/tt/log0.json 404 (Not Found)
send @ jquery-1.10.2.js:8706
ajax @ jquery-1.10.2.js:8136
jQuery.(anonymous function) @ jquery-1.10.2.js:8282
getJSON @ jquery-1.10.2.js:8265
(anonymous) @ (index):5
jquery-1.10.2.js:8706 XHR failed loading: GET "http://127.0.0.1:8000/tt/log0.json".
json
文件位于html模板所在的文件夹中,即tt
文件夹中。
请让我知道如何避免出现缺失的部分。
答案 0 :(得分:3)
将JSON与模板放在同一文件夹中并没有好处。无法通过HTTP请求访问模板;它们是通过URL提供的视图呈现的。
您应该将JSON放入静态目录,然后通过STATIC_URL访问它;或者,您可以编写一个视图来像其他模板一样为它提供服务,但是这样做似乎没有任何意义。