我有以下Django模型。如您所见,每个菌株的目录都是动态的,而Photos_save模型与菌株模型一致(它允许我为每个菌株保存多张照片)。我想详细了解每种菌株和与之相关的图片。您是否可以帮助我完成此任务所需的views.py和HTML代码?我是Django的新手,到目前为止,我已经设法在索引页面上显示该应变的所有信息,包括照片(但我希望用户能够点击每个的名称)紧张并看到详细的视图)。
class Strain(models.Model):
""";
Model representing strains.
"""
type_strain = (
('W', 'Wild Type'),
('G', 'GMO'),
('P', 'Prospected'),
)
def strain_directory_path(instance, filename):
return 'strain_{0}/{1}'.format(instance.strain_name, filename)
strain_name = models.CharField(max_length=100, blank=False, null=True, default=None)
strain_description = models.CharField(max_length=500, blank=True, null=True, default=None)
data_of_generation = models.DateField(null=True, blank=True, default= None)
strain_source = models.CharField(max_length=500, blank=True, null=True, default=None)
strain_parent = models.ForeignKey('Strain', null=True, blank = True, on_delete= models.CASCADE, default= None)
strain_type = models.CharField(max_length=1 , blank=True, null=True, default=None, choices= type_strain)
class Photos_save(models.Model):
import datetime
def strain_directory_path(instance, filename):
return 'strain_{0}/{1}'.format(instance.strain_name, filename)
strain_name = models.ForeignKey(Strain, on_delete=models.CASCADE, default= None)
upload_photo = models.FileField(upload_to= strain_directory_path, default= None)
photo_description = models.CharField(max_length= 200, default= None, blank= True)
photo_upload_date = models.DateField(blank=True, default=datetime.date.today)
def __str__(self):
"""
String for representing the Model object.
"""
return '{0}'.format(self.strain_name)
def get_absolute_url(self):
"""
Returns the url to access a particular photo instance.
"""
return reverse('photo-detail', args=[str(self.id)])