Django中的相册应用程序流程

时间:2014-05-08 06:20:25

标签: python django

我想知道如何将由专辑分隔的图像显示在Django的页面上。到目前为止,我已经学会了如何使用这行

<img src="{% static "images/python-logo@2x.png" %}">

在我的html文件中。

结构:

/PersonalWebsite
   /static
      /img
         /albums
            /album1
               img1
            /album2
               img2
            ...etc

我想要做的是有一些专辑缩略图,点击后,应显示专辑中的所有图像。我相信我会用AJAX请求来做这件事。我可能会将这些照片分类为标签,并将名称和其他特征放在一起。这将在我的models.py中完成:(虽然没有完成)

from django.db import models
from django.contrib import admin
import os
from PersonalWebsite.settings import MEDIA_ROOT

class Album(models.Model):
    title = models.CharField(max_length = 60)

    def __unicode__(self):
         return self.title

    def get_image_by_album(self):
         images = []
         for root, dirs, files in os.walk(os.path.join(MEDIA_ROOT, 'albums', self.title)):
             mypath = os.sep.join(os.path.join(root, file).split(os.sep[4:]))
             images.append(mypath)
             return images

class Tag(models.Model):
    tag = models.CharField(max_length = 50)

    def __unicode__(self):
        return self.tag

class Image(models.Model):
    title = models.CharField(max_length = 60, blank = True, null = True)
    #image = models.FileField(upload_to = get_upload_file_name)
    tags = models.ManyToManyField(Tag, blank = True)
    albums = models.ForeignKey(Album)
    width = models.IntegerField(blank = True, null = True)
    height = models.IntegerField(blank = True, null = True)
    created = models.DateTimeField(auto_now_add=True)


    def __unicode__(self):
        return self.image.name 

class AlbumAdmin(admin.ModelAdmin):
    search_fields = ["title"]
    list_display = ["title"]

class TagAdmin(admin.ModelAdmin):
    list_display = ["tag"]

class ImageAdmin(admin.ModelAdmin):
    search_fields = ["title"]
    list_display = ["__unicode__", "title", "created"]
    list_filter = ["tags", "albums"]

admin.site.register(Album, AlbumAdmin)
admin.site.register(Tag, TagAdmin)
admin.site.register(Image, ImageAdmin)

我的&#34; get_image_by_album&#34;解析专辑并将路径附加到&#34;图像&#34;名单。多数民众赞成在我现在就得到了= /我也想建立一个管理员,以便我以后可以轻松维护网站。我想我将创建一个视图方法,只需获取图像路径列表并以这种方式显示它。我愿意接受建议!让我知道你的想法!我还想设置一个管理界面,让我可以手动上传和编辑照片中的元数据,但我会在以后知道如何操作。

1 个答案:

答案 0 :(得分:1)

我使用django-photologue构建了一个非常简单的图库应用程序。 http://gallery.gentryart.us