这是我在django的第一个项目,我正在使用photologue for gallery,这很棒,我非常喜欢它。
但有一件事我不知道,我怎么能使用它的ImageModel?
我有一个博客应用程序,并且在管理界面中创建了每个新的博客帖子,我都想上传链接到该帖子的图片。
from django.db import models
from tagging.fields import TagField
from tinymce import models as tinymce_models
from photologue.models import ImageModel
#import datetime
# Create your models here.
class Blog(models.Model):
title = models.CharField(max_length=150)
content = tinymce_models.HTMLField()
pub_date = models.DateTimeField(auto_now_add=True)
edit_date = models.DateTimeField(auto_now=True)
tags = TagField()
summary = models.CharField(max_length=30)
thumbnail = ImageModel()
def __unicode__(self):
return self.title
上面的代码实际上似乎没有用或做任何事情。
我一直在搜索文档,google等,并尝试自己理解光源,但我似乎无法像我想的那样让它工作。
答案 0 :(得分:1)
ImageModel
是抽象类。你不能把它当作自己使用。相反,您必须将其子类化:
class BlogImage(ImageModel):
pass
class Blog(models.Model):
...
thumbnail = models.ForeignKey(BlogImage, related_name='blogs')
但是,ImageModel
的主要目的是允许您创建一个带有其他自定义数据的照片模型,这些数据仍然像photologue的模型一样。 photologue已经有Photo
,这是一个基于ImageModel
的真实模型,如果你只需要默认值,你可以使用它。
class Blog(models.Model):
...
thumbnail = models.ForeignKey(Photo, related_name='blogs')