我不确定这个通知系统看起来发生了什么,这里是错误
int() argument must be a string, a bytes-like object or a number, not 'SimpleLazyObject'
Views.py
def index(request):
notifi = Notificaciones.objects.filter(user=request.user, Estado=False)
if request.method == 'POST':
form = RegistroUserForm(request.POST, request.FILES)
else:
form = RegistroUserForm()
context = {
'form': form,
'notifi': notifi
}
return render(request,'app/index.html',context)
Models.py
class Notificaciones(models.Model):
user = models.ManyToManyField(User)
Tipo_de_notificaciones = ( (1,'Ofertas'),(2,'Error'),(3,'Informacion'))
Tipo = models.IntegerField('Tipo de notificacion',choices=Tipo_de_notificaciones, default=3,)
titulo = models.CharField("Nombre de la notifiacion",max_length=50)
mensaje = HTMLField("Descripcion de la notificacion")
imagen = models.ImageField("Imagen de la notificacion",upload_to="notificaciones")
Fecha_Caducidad_notificacion = models.DateTimeField("Fecha de caducidad de la notificacion",auto_now_add=False)
Estado = models.BooleanField("Estado de la notificacion", default=False)
class Meta:
verbose_name = 'Notificacion'
verbose_name_plural = 'Notificaciones'
def __str__(self):
return self.titulo
@receiver(post_save, sender=User)
def mensaje_bienvenida(sender, **kwargs):
if kwargs.get('creado', False):
Notificaciones.objects.create(user=kwargs.get('instance'),
titulo= "Bienvenido a la plataforma de Vulpini.co",
mensaje= 'Gracias por registrarte'
)
Notificaciones.html
{% if notifi.count > 0 %}
{% for notifi in notifi %}
<ul>
<li>
{{ notifi.Tipo }}
{{ notifi.titulo }}
<img src="{{ notifi.imagen.url }}" alt="{{ notifi.titulo }}"/>
{{ notifi.mensaje }}
{{ notifi.Fecha_Caducidad_notificacion }}
</li>
</ul>
{% endfor %}
{% endif %}
为什么要显示错误,如果两天前工作,我什么都不做改变。 帮助我,谢谢你
答案 0 :(得分:1)
你在views.py中尝试过类似的东西吗?
notifi = Notificaciones.objects.filter(user=request.user.id, Estado=False)
编辑:
也许这篇上一篇文章对您有所帮助。 django: Purpose of django.utils.functional.SimpleLazyObject?
或者看看我发现了什么,这也有帮助: Django int() argument must be a string or a number
希望这会有所帮助。 :)