Django:无法在模板中呈现上传的图像

我创建了一个模型,它接受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})


不负相思意
浏览 128回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python