отобразить изображение профиля пользователя отправителя чата в django-шаблоне - PullRequest
0 голосов
/ 07 июля 2019

Все работает хорошо, за исключением того, что я пытаюсь отобразить изображения профиля пользователя, который отправил сообщение в чат.это то, что печатает мой рисунок "profilepics / images_g9LwcHF.jpg".Обратите внимание, что я использую фреймворк django

<script>

  chatSocket.onmessage=function(e){
    var  tag_img=document.createElement('img');
    var get_user=document.querySelector('#user').value
    var tagname=document.createElement('li');
    var data =JSON.parse(e.data);   

    document.querySelector('.img_tag').src=data.message.sender_img

</script>

Dom

<img class ="img_tag">

Это мой consumer.py

        messaage_json={
          'user':me.username,
          'message':message_object.message,
          'sender':message_object.sender.username,
          'sender_img':str(message_object.sender.profilepicture),
          'created':str(message_object.created)
        }

        #coverting data to string 
        myResponse={
          "message":messaage_json,

        }
        #broad cast the message event to be send 
        # in the layaer
        await self.channel_layer.group_send(
            self.room_group_name,{
                # call the chat_message method
                "type":"chat_message",
                #covert string data to json objects
                "text":json.dumps(myResponse),

            }
        )

Он распечатывает путь к изображению профиля пользователя вмультимедийный файл, но не может отобразить изображение с помощью JavaScript.Обратите внимание, я использую Django.

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

да, я решил проблему. Чтобы отобразить путь к изображению, так как все загруженные изображения хранятся в медиа-файле django, я должен использовать следующую ниже

tag_img.src = '/'+'media'+'/'+ data.message.sender_img;
0 голосов
/ 07 июля 2019

Я не вижу, чтобы вы фактически внедрили вновь созданный DOM-узел изображения в DOM, например, где-то вам нужно сделать это для отображения изображения:

chatSocket.onmessage=function(e){

var data =JSON.parse(e.data);

var tag_img=document.createElement('img');
tag_img.src = data.message.sender_img;

document.querySelector('.img_tag').appendChild(tag_img);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...