Ich erstelle einfache Blog und Gesicht mit Problem. Ich brauche separate Arten von Posts in der Django Admin-Seite, die gespeichert werden, aber nicht vor Ort angezeigt werden. Zum Beispiel, wenn jemand einen Beitrag vorschlägt, möchte ich ihn zuerst lesen und danach veröffentlichen, oder wenn ich einen Beitrag schreibe und nach einiger Zeit weitermachen möchte, muss ich ihn speichern.Zeige Beitrag in Django Admin-Seite, aber nicht vor Ort
Blog/models.py
class Post(models.Model):
author = models.ForeignKey(User, default=1)
title = models.CharField(max_length = 50)
pub_date = models.DateTimeField(default=timezone.now)
content = models.TextField(max_length = 50000)
published = models.BooleanField(default=False)
def __str__(self):
return self.title
def get_absolute_url(self):
return "/blog/%i/" % self.pk
Blog/admin.py
class PostAdmin(admin.ModelAdmin):
fieldsets = (
('Title', {'fields' : ['title']}),
('Date', {'fields' : ['pub_date'], 'classes' : ['collapse']}),
('Content', {'fields' : ['content']}),
)
list_display = ('title', 'pub_date')
list_filter = ['pub_date']
search_fields = ['title']
admin.site.register(Post, PostAdmin)
Blog/views.py
class PostsListView(ListView):
model = Post
In Ihrer Sicht können Sie die Abfrage so beschränken, dass nur veröffentlichte Posts angezeigt werden, z. B. 'Post.object.filter (published = True) '. Du hast deine Sichtweise nicht gezeigt, daher ist es schwierig, genauer zu sein. – Alasdair
Ja, danke, und wie separate Feld für unveröffentlichte Posts machen? – Rodion
Ich verstehe deine Frage nicht. Sie haben bereits ein boolesches Feld in Ihrem Modell veröffentlicht. – Alasdair