У меня есть следующая ошибка, когда я иду в renderizar, и объединять HTML blog (это странно, потому что, когда renderize другой HTML у меня не было никакой проблемы):
Я оставляю кодексы 4 архивов, которые Вы используете.
Я храню в архиве views.py (где Визуальный Студио Коде эта ошибка в линии 7: Class 'Post' - не 'objects' member pylint (no-member) [7, 13]
from django.shortcuts import render
from .models import Post
# Create your views here.
def blog(request):
posts = Post.objects.all()
return render(request, "blog/blog.html", {'posts':posts})
blog.html
{% extends 'core/base.html' %}
{% load static %}
{% block title %}Blog{% endblock %}
{% block content %}
{% for post in posts %}
{% endfor %}
{% endblock %}
base.html
{% block title %}{% endblock %} | La Caffettiera
{% load static %}
L'autentico caffè d'italia
La Caffettiera
{% block content %}{% endblock %}
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.blog, name="blog"),
]
models.py
from django.db import models
from django.utils.timezone import now
from django.contrib.auth.models import User
# Create your models here.
class Category(models.Model):
name = models.CharField(max_length=100, verbose_name="Nombre")
created = models.DateTimeField(auto_now_add=True, verbose_name="Fecha de creación")
updated = models.DateTimeField(auto_now=True, verbose_name="Fecha de edición")
class Meta:
verbose_name = "categoría"
verbose_name_plural = "categorías"
ordering = ['-created']
def __str__(self):
return self.name
class Post(models.Model):
title = models.CharField(max_length=200, verbose_name="Título")
content = models.TextField(verbose_name="Contenido")
published = models.DateTimeField(verbose_name="Fecha de publicación", default=now)
image = models.ImageField(verbose_name="Imagen", upload_to="blog", null=True, blank=True)
author = models.ForeignKey(User, verbose_name="Autor", on_delete=models.CASCADE)
categories = models.ManyToManyField(Category, verbose_name="Categorías")
created = models.DateTimeField(auto_now_add=True, verbose_name="Fecha de creación")
updated = models.DateTimeField(auto_now=True, verbose_name="Fecha de actualización")
class Meta:
verbose_name = "entrada"
verbose_name_plural = "entradas"
ordering = ['-created']
def __str__(self):
return self.title
Я обновляю:
Я понял, что проблема находится в образе, который я поднимаю для каждого входа blog, так как, если мы оставляем без образа вход, у Вас будет эта ошибка. Но я не понимаю, потому что, имеет ли кодекс null и blank равно True, чтобы мочь оставлять вход без образа.
Доказательство добавлять в тебе сдержись blog.html условной одной для того, чтобы он проверил сначала, есть ли изображение:
{% if post.image %}
<p class="mb-0">
<img class="mx-auto d-flex rounded img-fluid mb-3 mb-lg-0" src="{{post.image.url}}" alt="">
</p>
{% endif %}