【问题标题】:How to create a Django image gallery如何创建 Django 图像库
【发布时间】:2012-06-25 08:10:03
【问题描述】:

我希望使用 Django 创建一个作品集。我曾尝试使用 ImageField,但它只允许我上传和替换 1 张照片。

我是 Python 和 Django 编程的新手。我将如何创建一个模型来上传多个图像并将它们显示在画廊中?谢谢。

【问题讨论】:

    标签: python django image gallery portfolio


    【解决方案1】:

    查看https://web.archive.org/web/20120621233904/http://lightbird.net/dbe/photo.html 这将解释基础知识。

    如果您想通过管理员添加多于一张图片,您可以执行以下操作:

    class ChoiceInline(admin.StackedInline):
        model = Image # or what ever your models name is
        extra = 5 # or how ever many you want to add at a time
    

    您还应该阅读 Django 教程:https://docs.djangoproject.com/en/dev/intro/tutorial01/

    【讨论】:

    • 谢谢,我正在浏览 lightbird tut。应该帮助很多
    • 这已在portfolio appportfolio app中针对较新版本的 Django 进行了更新
    【解决方案2】:

    您还可以使用photologueimagekit 等应用程序来简化一些任务。

    您也可以使用Model Formsets 上传多张图片

    【讨论】:

    • 我用过多次photologue。很容易设置一个简单的摄影画廊,也可以作为通过子类化构建定制解决方案的基础。
    • 我刚看了一下photologue,它可以满足我的需要。谢谢
    【解决方案3】:

    如果您的网络应用程序有无法访问管理面板的用户,这里有一个教程将引导您使用管理面板和表单集来指导您完成 building an image gallery with Django

    【讨论】:

      【解决方案4】:

      只需将以下代码放入您的图库模板中即可。

      {% for image in images %}
                      {% if forloop.first %}
                          <div class="row ">
                      {% endif %}
                      <div class="col-lg-4 col-md-4 col-12" >
                          <div class="text-center mt-2">
                              <img src="{{image.image.url}}"height="70%" width="70%" class="img-thumbnail" alt="...">
                          </div>
                      </div>
                      {% if forloop.counter|divisibleby:3 %}
                          </div>
                          <div class=row>
                      {% endif %}
                      {% if forloop.last %}
                              </div>
                      {% endif %}
      {% endfor %}
      

      【讨论】:

        【解决方案5】:

        你可以试试django-galleryfield。顺便说一句,我是这个包的作者。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-04-30
          • 1970-01-01
          • 1970-01-01
          • 2018-01-02
          • 2017-02-27
          • 2014-10-06
          • 2015-08-16
          相关资源
          最近更新 更多