0

制作一个基本的问答网站,并希望将每个问题与图像相关联(管理员上传),如果没有相应的图像,则将其与默认的“无图像”占位符相关联。

我有两个模型,问题和答案(见下文)。每个问题都需要有一个与之关联的图像,所以我认为最好的方法是将属性 ImageField 与 Question 模型附加在一起。

#models.py
class Question(models.Model):
    title = models.CharField(max_length = 500)
    picture = models.ImageField(height_field = '250',
                                width_field = '200',
                                upload_to = 'images')
    def __unicode__(self):
        return self.title

但是,当我运行服务器时,告诉我下载 Python Imaging Library,当我遇到错误时(不同的问题)。

退后一步,在 Django 中将图像添加到模型的最佳方法是什么?

4

1 回答 1

0

忘记PIL...

使用位置 URL DB 条目。不要使用 ImageField(),而是使用

picturepath = models.CharField(255)

包含图像静态位置的 URL。

所以如果 STATIC_URL = "http://127.0.0.1/static/" 和图片路径 = "images/poots.png"

然后,在视图中传递该信息,并在模板中使用它:

<img src="{{ STATIC_URL }}{{ question.picturepath }}">

会提供

<img src="http://127.0.0.1/static/images/poots.png">
于 2012-10-23T07:29:21.373 回答