图片上传字段在django admin中有效,但在模板中无效

时间:2017-08-28 06:23:32

标签: python django forms generics django-admin

您好我创建了一个通用表单来插入数据一切正常但图像无法以模板形式上传,但是当我在管理员上传图片时,它完美运行并且图像显示在模板页面上。

这是我的代码:

views.py:

class ArticleCreate(CreateView):
model = article
fields = ['title', 'cat', 'img', 'disc', 'tags']

models.py:

class article(models.Model):
   title = models.CharField(max_length=250)
   disc = models.TextField(verbose_name="Discription")
   cat = models.ForeignKey(category, verbose_name="Category")
   tags = models.ManyToManyField(Tag, blank=True)
   img = models.ImageField(blank=True, verbose_name='Image')

Settings.py:

STATIC_URL = '/static/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

模板页面:

{% for list in data %}
 {{ list.title }}
{% if list.img %}
  {{ list.img.url }}
{% endif %}
{% endfor %}

如何使用通用表格上传图片?

3 个答案:

答案 0 :(得分:2)

enctype="multipart/form-data"中的模板添加<form>中,它也允许从模板上传图片。

模板表单

 <form method="post" enctype="multipart/form-data" >

答案 1 :(得分:1)

另一个普遍的错误是我们可以忘记视图中的request.FILES属性:例如

form = someModelForm(request.POST,request.FILES)

答案 2 :(得分:0)

试试这个:

<img src="{% if list.img %}{{ list.img.url }}">