此代码显示如下对象:Home Object(1)
,Home Object(2)
,但我想在django管理页面中显示所有模型字段。我该怎么做?
我是django的初学者,这是我的第一个项目。
models.py
class Home(models.Model):
image=models.ImageField(upload_to='home')
paragraph=models.TextField()
created=models.DateTimeField(auto_now_add=True)
admin.py
admin.site.register(Home)
答案 0 :(得分:2)
如果要将显示从Home Object(1)
更改为其他内容,可以通过在模型中定义如下方法来实现:
class Home(models.Model):
image=models.ImageField(upload_to='home')
paragraph=models.TextField()
created=models.DateTimeField(auto_now_add=True)
def __str__(self):
return "{}:{}..".format(self.id, self.paragraph[:10])
这将返回对象ID,其中包含您在管理面板上段落中的前10个字符:
例如:
1:Example par...
单击该对象后,您将获得对象详细信息。
如果要在面板上显示,可以在admin.py
from django.contrib import admin
class HomeAdmin(admin.ModelAdmin):
list_display = ('image', 'paragraph','created',)
admin.site.register(Home,HomeAdmin)
答案 1 :(得分:0)
为什么不在admin.py中尝试此操作?
from django.contrib import admin
class HomeAdmin(admin.ModelAdmin):
list_display = ('paragraph', 'created', 'image', )
admin.site.register(Home, HomeAdmin)
这应该做的是在管理员中查看Home对象列表时显示字段及其值。因此,这仅适用于管理员中的列表视图。
此外,如果您在admin的“图像”字段中查看图像时遇到问题,请检查以下问题的答案: Django Admin Show Image from Imagefield