Python Django可在公共领域出版
因此,在工作中,我们使用django publish发布案例研究。无论何时发布案例研究,普通用户都可以查看。但是,如果处于草稿模式,并且用户以管理员身份登录,则在索引页上,他应该能够看到所有案例研究,无论是已发布的还是仍处于草稿模式,这些案例研究都将链接到每个案例研究的实际案例研究页面,但是对于草稿模式的研究,应将“草稿”附加到单个url。希望这是有道理的 我的问题是,从Publishable类继承的“is_public”字段在普通用户查看时正确显示,但是当管理员登录并试图查看页面时,is_public字段始终显示为False,即使它在数据库中明显为TruePython Django可在公共领域出版,python,django,Python,Django,因此,在工作中,我们使用django publish发布案例研究。无论何时发布案例研究,普通用户都可以查看。但是,如果处于草稿模式,并且用户以管理员身份登录,则在索引页上,他应该能够看到所有案例研究,无论是已发布的还是仍处于草稿模式,这些案例研究都将链接到每个案例研究的实际案例研究页面,但是对于草稿模式的研究,应将“草稿”附加到单个url。希望这是有道理的 我的问题是,从Publishable类继承的“is_public”字段在普通用户查看时正确显示,但是当管理员登录并试图查看页面时,is_pu
def get_absolute_url(self):
if self.slug:
if self.is_public:
return reverse('case-study', args=(self.slug,))
else:
return reverse('case-study', args=(self.slug,)) + '?draft'
return reverse('work',)
我从模型get_absolute_url方法中得到了这个,因此当以管理员身份登录时,每个案例研究都会附加“?draft”
我将非常感谢您的帮助
这是完整的模型:
class CaseStudy(Publishable, Sortable):
# Text
title = models.CharField(max_length=100)
subtitle = models.CharField(max_length=100, blank=True, null=True)
description = models.CharField('Summary', max_length=255)
challenge = models.TextField('The Challenge')
solution = models.TextField('Our Solution')
# Images
image = models.ImageField('Thumbnail', upload_to="case-study/thumbs")
header = models.ImageField('Header Image', upload_to="case-study/header")
# Client Meta
client = models.ForeignKey(Client, null=True, blank=True)
expertise = models.ManyToManyField(Expertise)
capability = models.ManyToManyField(Capabilty)
services = models.TextField(blank=True, help_text='One per line')
# Formatting
scheme = models.CharField('Color Palette', max_length=100, choices=COLOR_SCHEMES)
# Display Options
home_page = models.BooleanField('Feature on Home Page?', default=False)
work_page = models.BooleanField('Feature on Work Page?', default=False)
# Meta
slug = models.SlugField()
created = CreationDateTimeField()
modified = ModificationDateTimeField()
class Meta(Publishable.Meta, Sortable.Meta):
verbose_name = 'Case Study/Story'
verbose_name_plural = 'Case Studies'
class PublishMeta(Publishable.PublishMeta):
publish_reverse_fields = ['sections', 'related_projects']
def __unicode__(self):
return u'%s' % self.title
def get_absolute_url(self):
if self.slug:
if self.is_public:
return reverse('case-study', args=(self.slug,))
else:
return reverse('case-study', args=(self.slug,)) + '?draft'
return reverse('work',)
你能展示你的模型吗?添加了完整的模型。