根据用户 django-channels 定义位置

Defining the place depending on the user django-channels

我正在使用 django-channels 制作一个聊天应用程序。在我的前端聊天中,我希望一个用户在一侧,另一个用户在另一侧,我尝试这样的事情:

   {% for chat in object.chatmessage_set.all %}
    {% if chat.user == user.username %}

        <div class="msg right-msg" id="side">
          <div class="msg-img" style="background-image: url(https://image.flaticon.com/icons/svg/145/145867.svg)"></div>

          <div class="msg-bubble">
              <div class="msg-info">
              <div class="msg-info-name" id="user">{{ chat.user }}</div>
              <div class="msg-info-time"></div>
              </div>

              <div class="msg-text" id="buttom">{{ chat.message }}</div>
          </div>
        </div>
        
    {% elif chat.user != user.username %}

        <div class="msg left-msg" id="side">
          <div class="msg-img" style="background-image: url(https://image.flaticon.com/icons/svg/145/145867.svg)"></div>

          <div class="msg-bubble">
              <div class="msg-info">
              <div class="msg-info-name" id="user">{{ chat.user }}</div>
              <div class="msg-info-time"></div>
              </div>

              <div class="msg-text" id="buttom">{{ chat.message }}</div>
          </div>
        </div>

    {% endif %}
  {% endfor %}

class msg right-msg 告诉正确的地方,class msg left-msg 告诉另一个地方, 它似乎有效,但不像我预期的那样。最后它看起来像这样: chat image

有谁知道我可以class根据用户对这边做些什么?

你可以用 django 模板标签做一个 if 语句:

{% if user.username != chat.user %}"msg left-msg"{% elif user.username == chat.user %}"msg right-msg"{% endif %}