【问题标题】:Django Type Error adding data to model via django admin backendDjango 类型错误通过 django admin 后端向模型添加数据
【发布时间】:2020-11-20 17:32:10
【问题描述】:

我不知道发生了什么...昨天我在 django/admin 页面测试表单,确保我可以上传图像并且它工作得很好。今天早上,我遇到了一个类型错误,我一辈子都无法追踪它的来源。

这是我的models.py

from django.db import models


class MenuCategory(models.Model):
    name = models.CharField(max_length=25, unique=True, default='')
    summary = models.TextField(max_length=120, unique=False, default='')

    class Meta:
        verbose_name = 'Menu Category'
        verbose_name_plural = 'Menu Categories'

    def __str__(self):
        return '' + self.name


class MenuItem(models.Model):
    category = models.ForeignKey(MenuCategory, on_delete=models.CASCADE)
    title = models.CharField(max_length=25, unique=True)
    price = models.FloatField()
    image = models.ImageField(upload_to='', width_field=200, height_field=200)
    description = models.TextField(max_length=240, unique=False, default='')

    class Meta:
        verbose_name = 'Menu Item'
        verbose_name_plural = 'Menu Items'

    def __str__(self):
        return '' + self.title

还有我的 admin.py

from django.contrib import admin
from menu.models import MenuItem, MenuCategory

# Register your models here
admin.site.register(MenuItem)
admin.site.register(MenuCategory)


class MenuInlines(admin.TabularInline):
    model = MenuItem


class CategoryAdmin(admin.ModelAdmin):
    inlines = [MenuInlines]

我真的不明白 TypeError 在哪里 =(

这似乎昨天工作正常,我不知道我改变了什么。

我做了'makemigrations'和'migrate'只是为了确定......有什么线索吗?我是否遗漏了一些可能相关的内容?

【问题讨论】:

  • 您能告诉我们您遇到的确切类型错误吗?
  • 你遇到了什么类型的错误?可以上传吗?错误在哪里(在 cmd 中)或(在 html 中)?
  • 是的,它是 getattr():属性名称必须是字符串。请求方法:POST 请求 URL:127.0.0.1:8000/admin/menu/menuitem/add Django 版本:3.1.3 异常类型:TypeError 异常值:getattr():属性名必须为字符串
  • 您也可以在 html 中设置图像的大小。所以你应该在 html 中尝试一下。
  • 非常感谢!原来是这样!哇!很奇怪,因为我昨天有这个工作,但非常感谢你! =)

标签: python django django-models django-templates


【解决方案1】:

你可以像在 HTML 中那样做:-

{% load daguerre %}
<img src="{% adjust model.image 'fill' width=128 height=256 %}" />

【讨论】:

    猜你喜欢
    • 2012-04-16
    • 2019-12-04
    • 2021-10-06
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    相关资源
    最近更新 更多