![](/img/trans.png)
[英]Why are my images holding up the page load, and how can I defer it/ make it asynchronous or lazy?
[英]How can i load images in django template with asynchronous system?
我试图在 django 中制作异步系统。 为此,我使用了 Channels,我试图将图像 url 发送到我的模板并在模板页面上显示图像。 但它没有用。
这是我的 settings.py 文件
STATIC_URL = '/static/'
import os
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'), )
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
这是我从数据库发送数据的方式。
class WSConsumer(WebsocketConsumer):
def connect(self):
self.accept()
x = Student.objects.filter(id=1)
self.send(json.dumps({
'name':x[0].name,
"img":x[0].image.url,
}))
index.html 文件
{% load static %}
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
</head>
<body>
<div id='img'></div>
<script>
var socket = new WebSocket('ws://localhost:8000/ws/some_url/');
socket.onmessage = function(event)
{
var data = JSON.parse(event.data);
console.log(data);
var url = data.img
var el = document.getElementById("img");
el.innerHTML=`<img src= ${url}>`;
}
</script>
</body>
所有的异步系统都可以完美运行。js已经在获取图像,但它不是显示图像而是显示其他数据。
错误是我将媒体 url 路径放入应用程序 urls.py 文件。 它必须在项目 urls.py 文件中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.