Django Модель и шаблон подключения - PullRequest
1 голос
/ 02 февраля 2020

Вот мой код:

{% extends "blogapp/base.html" %}
{% load static %}
{% block page_content %}
    <h1>Projects</h1>
    {% for project in projects %}
    <div class="card" style="width: 18rem;">
        <img class="card-img-top" src="{% static 'sampleimg.jpg' %}" alt="Card image cap">
        <div class="card-body">
            <h5 class="card-title">{{ project.title }}</h5>
            <p class="card-text">{{ project.description }}</p>
            <a class="btn btn-primary" href="{% url project.detail %}">Read More</a>
        </div>
    </div>
    {% endfor %}
{% endblock %}

models.py

from django.db import models

class Project(models.Model):
    title = models.CharField(max_length=260)
    description = models.TextField()
    technology = models.CharField(max_length=260)
    #image = models.FilePathField(path='/images')

views.py

from django.shortcuts import render
from .models import Project

def project_index(request):
    projects = Project.objects.all()
    context = {
        'project':projects
    }
    return render(request,'blogapp/project_index.html',context)

def project_detail(request,pk):
    projects = Project.objects.get(pk=pk)
    context = {
        'project':projects
    }
    return render(request,'blogapp/project_detail.html',context)

Я добавил 2 сообщения от администратора, но не могу посмотрим, когда я запустил сервер. Вот сс:

ScreenShot

У меня есть 2 сообщения в блоге, но я их не вижу. В чем может быть проблема?

Ответы [ 2 ]

3 голосов
/ 09 февраля 2020

У вас ошибка при передаче контекста. Вы используете ключ проект в контексте. Но вы ссылаетесь проекты на l oop на project_index. html. изменить имя ключа при просмотре проект на проекты . Не изменять ни в одном файле

изменить передаваемый ключ контекстного словаря при методе просмотра project_index, следуя

def project_index(request):
    projects = Project.objects.all()
    context = {
        'projects':projects # here change 'project' to projects in dict key
    }
    return render(request,'blogapp/project_index.html',context)

, если этот материал работает, тогда дайте мне знать ....

1 голос
/ 02 февраля 2020

имя вашего ключа - проект, а не проекты. Запишите этот код в файл html:

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