我创建了一个模型,它接受FileField()在我的模型中使用的任何类型的文件。
我已经正确上传了一些文件并将参考保存在数据库中,正如我在管理界面和文件夹“media”中看到的那样。
但是,无法在模板中渲染此图像。我需要渲染它,以便我的用户能够将它们下载到他们的计算机上。
这些是我的图像的路径:
media/imagenes/468x60.jpg #relative path
/home/ogonzales/Escritorio/web_proyects/gallito/media/imagenes/468x60.jpg #full path
项目结构
gallito (Django project folder)
|_gallito
|_main_app
|_static
|_templates
|_main_app
|_pedidos.html
|_media
|_imagenes
|_468x60.jpg
|_728x90.jpg
|_templates
|_registration
|_login.html
|_base.html
模型.py:
class TamaniosCantidades(models.Model):
TAMANIOS = (('2x2', '2" x 2"',), ('3x3', '3" x 3"',),
('4x4', '4" x 4"',), ('5x5', '5" x 5"',))
CANTIDADES = (('50', '50',), ('100', '100',),
('150', '150',))
tamanios = models.CharField(max_length=10, choices=TAMANIOS)
cantidades = models.CharField(max_length=10, choices=CANTIDADES)
imagenes = models.FileField(upload_to='imagenes/')
uploaded_at = models.DateTimeField(auto_now_add=True)
表格.py:
class TamaniosCantidadesForm(forms.ModelForm):
tamanios = forms.ChoiceField(choices=TAMANIOS, widget=forms.RadioSelect(), label='Selecciona un tamaño')
cantidades = forms.ChoiceField(choices=CANTIDADES, widget=forms.RadioSelect(), label='Selecciona la cantidad')
class Meta:
model = TamaniosCantidades
# fields = ['tamanios', 'cantidades',]
fields = ['tamanios', 'cantidades', 'imagenes']
视图.py:
def pedidos(request):
pedidos = TamaniosCantidades.objects.all()
return render(request, 'main_app/pedidos.html', {'pedidos': pedidos})
相关分类