首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django admin -创建镜像管理模型

Django admin -创建镜像管理模型
EN

Stack Overflow用户
提问于 2020-06-22 23:21:54
回答 1查看 148关注 0票数 0

我浏览了所有的帖子,但没有找到我想要的,这就是为什么我会问。

目标是能够在管理中创建图片库,然后上传图像,并选择在其中(已经创建)画廊要上传,之后,当创建一个帖子(例如)有一个字段,以访问画廊模型,并选择要在转盘画廊中使用的图像所说的帖子。

例如,我在一个旅游博客中创建了一个帖子,并希望添加一些我必须在旋转木马中使用的旅行图片。

我希望我已经解释了我的目标是可以理解的,并且有人能够给我指路或指出正确的方向。

如果有任何第一方的解决方案,我将非常高兴

请注意,由于我是django新手,请链接更详细的答案或教程,或为新手解释

EN

回答 1

Stack Overflow用户

发布于 2020-06-23 00:34:07

这是对你的想法的回答。像这样修改你的models.py

代码语言:javascript
复制
class Carousel(models.Model):
    carousel_name = models.CharField(max_length=50)
    def __str__(self):
        return self.carousel_name

class Photo(models.Model):
    carousel = models.ForeignKey(Carousel, on_delete=models.CASCADE)
    image =models.ImageField(upload_to="carousel_image", height_field=None, width_field=None, max_length=None)

然后在你的Views.py中:

代码语言:javascript
复制
from django.views.generic import DetailView
from .models import Carousel, Photo
class CarouselView(DetailView):
    model = Carousel
    template_name = 'carousel.html'

现在在您的admin.py中:

代码语言:javascript
复制
from .models import Carousel, Photo
class PhotoInline(admin.TabularInline):
    model= Photo
    extra= 3

class CarouselAdmin(admin.ModelAdmin):
    inlines=[PhotoInline]
admin.site.register(Carousel, CarouselAdmin)

现在,让您的urlpattern获取pk作为kwargs,以便像这样加载图像:

代码语言:javascript
复制
urlpatterns = [
    path('<int:pk>/', CarouselView.as_view())
]

最后在你的模板中:渲染为:

代码语言:javascript
复制
 <!-- The slideshow -->
  <div class="carousel-inner">
    {% for photo in carousel.photo_set.all %}
    <div class="carousel-item active">
      <img src="{{ photo.image.url }}" alt="Image {{forloop.counter}}" width="1100" height="500">
    </div>
    {% endfor %}
  </div>

现在,图库应该可以像您预期的那样工作。希望你能找到你正在寻找的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62517849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档