我需要一些帮助,以了解如何在2个不同的应用程序中实现照片上传并保持我的项目干燥。我有一个应用程序(图库),我在其中定义了3个不同的视图(它实际上是git中的django-jquery-file-upload示例的实现:https://github.com/sigurdga/django-jquery-file-upload)
class PictureCreateView(CreateView)
...
class PictureDeleteView(DeleteView):
...
class PictureListView(ListView):
...
在同一模板中使用此3类来选择要将多张照片上传(并最终删除)到服务器。在画廊应用程序中一切正常,但现在我想在2个不同的应用程序(和模型)中使用所有3个视图。画廊模型如下:
class Picture(models.Model):
file = models.ImageField()
place = models.ForeignKey(
'app_place.Poi',
related_name='places',
null=True, blank=True,
)
event = models.ForeignKey(
'app_event.Event',
related_name='events',
null=True, blank=True,
)
这样每张照片都可能与某个事件(或地点)相关。我想在活动中使用gallery应用程序中的3个视图,并将DetailView(所有经过身份验证的用户都可以添加照片添加到地点或事件中)属于2个不同的应用程序......正确的方法是什么?试图将3个画廊视图定义为mixin?或者使用get_context_data调用它们?我不知道如何继续进行,并且不需要帮助/建议。