Я хочу создать веб-сайт, на котором пользователи будут публиковать сообщения. Как сделать так, чтобы каждое сообщение отображалось на отдельной карточке? - PullRequest
2 голосов
/ 19 июня 2019

Создаю веб-сайт, на котором пользователь будет публиковать информацию на сайте, но когда я публикую на сайте все сообщения, они отображаются на одной карточке, а я хочу, чтобы каждое сообщение отображалось на отдельной карточке. Как мне это сделать??я должен был бы использовать Javascript во внешнем интерфейсе или python во внутреннем для этого, и как?

Я использую python 3.6.8 и django 2.1.8, я написал код, но все постыпоявляются в одной материализованной карточке

просмотров

def homepage(request):
return render(request=request,
              template_name="main/home.html",
              context={"documents":Documents.objects.all}

моделей

class Documents(models.Model):
docs_name = models.CharField(max_length=200)
police_station = models.CharField(max_length=200)
docs_details = models.TextField()
docs_pic = models.ImageField()

def __str__(self):
    return self.docs_name

Домашний шаблон

{% extends 'main/base.html' %}

{% block content %}
<a class="waves-effect waves-light btn" href="">button</a>
 <div class="row">
    <div class="col s12 m9" >
      <div class="card">
        <div class="card-image">
            {% for Doc in documents %}
            <p>{{Doc.docs_name}}</p>
            <p>{{Doc.police_station}}</p>
            <p>{{Doc.docs_details}}</p>
            <p>{{Doc.docs_pic}}</p>
            {% endfor %} 
        </div>
      </div>
    </div>
  </div>


{% endblock %}

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Вы можете достичь желаемого, просто добавив циклическую конструкцию вне <div class="card"> следующим образом:

{% extends 'main/base.html' %}

{% block content %}
<a class="waves-effect waves-light btn" href="">button</a>
<div class="row">
   <div class="col s12 m9" >

    {% for Doc in documents %}
      <div class="card">
        <div class="card-image">
          <p>{{Doc.docs_name}}</p>
          <p>{{Doc.police_station}}</p>
          <p>{{Doc.docs_details}}</p>
          <p>{{Doc.docs_pic}}</p>
        </div>
      </div>
    {% endfor %} 

</div> 
 </div>
 {% endblock %}

Таким образом, только одна часть вашей карты повторяется несколько раз.Ранее, поскольку петля была внутри карты, вы получили все элементы в одной карте.

0 голосов
/ 19 июня 2019

Попробуйте:

{% extends 'main/base.html' %}

{% block content %}
<a class="waves-effect waves-light btn" href="">button</a>
 <div class="row">
    <div class="col s12 m9" >
    {% for Doc in documents %}
      <div class="card">
        <div class="card-image">
            <p>{{Doc.docs_name}}</p>
            <p>{{Doc.police_station}}</p>
            <p>{{Doc.docs_details}}</p>
            <p>{{Doc.docs_pic}}</p> 
        </div>
      </div>
    {% endfor %}
    </div>
  </div>


{% endblock %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...