我希望在我的模型的管理表单中添加一个ImageField(例如,用于个人资料),并且稍后在视图中显示此图像。
这是我拥有的模型:
这是我网站设置中的内容:
我知道如何使用静态文件(例如CSS、Javascript),并使它们在开发和生产中工作。但是我不知道如何让图片工作。我已经阅读了管理静态文件和部署静态文件,但我仍然不明白。
使用上面的代码,图像将保存在正确的文件夹中(即我的站点级别的/static/media)。但是我不知道:
1)如何在模板中显示它,
2)是否最好将这些图像保留在我的应用程序的静态文件夹中,
3)以及(如果是2)是否需要每次有人在管理员中上传图像时运行collectstatic。
抱歉如果我表达不清楚,但这比我想象中的更难懂。
这是我拥有的模型:
class Individual(models.Model):
ind_name = models.CharField(max_length=100)
ind_photo = models.ImageField(default="default.jpg")
def __str__(self):
return self.ind_name
这是我网站设置中的内容:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")
MEDIA_URL = '/static/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,"static/media")
这些是我的应用程序的网址:
urlpatterns = [
url(r'^$', views.index, name="index")
]
我知道如何使用静态文件(例如CSS、Javascript),并使它们在开发和生产中工作。但是我不知道如何让图片工作。我已经阅读了管理静态文件和部署静态文件,但我仍然不明白。
使用上面的代码,图像将保存在正确的文件夹中(即我的站点级别的/static/media)。但是我不知道:
1)如何在模板中显示它,
2)是否最好将这些图像保留在我的应用程序的静态文件夹中,
3)以及(如果是2)是否需要每次有人在管理员中上传图像时运行collectstatic。
抱歉如果我表达不清楚,但这比我想象中的更难懂。