Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django可在公共领域出版_Python_Django - Fatal编程技术网

Python Django可在公共领域出版

Python Django可在公共领域出版,python,django,Python,Django,因此,在工作中,我们使用django publish发布案例研究。无论何时发布案例研究,普通用户都可以查看。但是,如果处于草稿模式,并且用户以管理员身份登录,则在索引页上,他应该能够看到所有案例研究,无论是已发布的还是仍处于草稿模式,这些案例研究都将链接到每个案例研究的实际案例研究页面,但是对于草稿模式的研究,应将“草稿”附加到单个url。希望这是有道理的 我的问题是,从Publishable类继承的“is_public”字段在普通用户查看时正确显示,但是当管理员登录并试图查看页面时,is_pu

因此,在工作中,我们使用django publish发布案例研究。无论何时发布案例研究,普通用户都可以查看。但是,如果处于草稿模式,并且用户以管理员身份登录,则在索引页上,他应该能够看到所有案例研究,无论是已发布的还是仍处于草稿模式,这些案例研究都将链接到每个案例研究的实际案例研究页面,但是对于草稿模式的研究,应将“草稿”附加到单个url。希望这是有道理的

我的问题是,从Publishable类继承的“is_public”字段在普通用户查看时正确显示,但是当管理员登录并试图查看页面时,is_public字段始终显示为False,即使它在数据库中明显为True

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',)

你能展示你的模型吗?添加了完整的模型。