Django Шаблон не отображается {{}} - PullRequest
2 голосов
/ 06 апреля 2020

Я не уверен, где я ошибся, но мой шаблон не рендерится. Я считаю, что я установил весь правильный код в следующих Python файлах, но я не вижу его рендеринга. Я использую postgresql, если это имеет значение:

urls.py :

from django.contrib import admin
from django.urls import path
from django.conf import settings
from django.conf.urls.static import static
import jobs.views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', jobs.views.home, name='home')
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

settings.py :

INSTALLED_APPS = [
    'blog.apps.BlogConfig',
    'jobs.apps.JobsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

views.py

from django.shortcuts import render

from .models import Job

def home(request):
    jobs = Job.objects
    return render(request, 'jobs/home.html', {'jobs': jobs})

models.py :

from django.db import models

class Job(models.Model):
    image = models.ImageField(upload_to = 'images/')
    summary = models.CharField(max_length = 200)

jobs / templates / jobs / дом. html:

<div class="album py-5 bg-light">
    <div class="container">

      <div class="row">
        {% for i in jobs.all %}
        <div class="col-md-4">
          <div class="card mb-4 shadow-sm">
            <img src="" alt="">
            <div class="card-body">
              <p class="card-text">{{ jobs.summary }}test</p>
            </div>
          </div>
        </div>
        {% endfor %}
        </div>
      </div>
    </div>

1 Ответ

1 голос
/ 06 апреля 2020

jobs - это QuerySet из Job объектов, следовательно, он не имеет атрибута summary. Здесь вы использовали i в качестве итератора jobs. Возможно, было бы лучше переименовать это в job, и, таким образом, отобразить это с помощью:

<div class="album py-5 bg-light">
    <div class="container">

      <div class="row">
        {% for <b>job</b> in jobs.all %}
        <div class="col-md-4">
          <div class="card mb-4 shadow-sm">
            <img src="" alt="">
            <div class="card-body">
              <p class="card-text">{{ <b>job.</b>summary }}test</p>
            </div>
          </div>
        </div>
        {% endfor %}
        </div>
      </div>
    </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...