【发布时间】:2014-06-23 13:38:27
【问题描述】:
我正在使用 django 管理视图。我有一个文章模型。每篇文章都有标题、正文、日期时间、标签和评级。默认情况下,django 会创建一个用于创建新文章的表单。 我只想要标题和正文的字段,但 django 为所有内容创建字段。我不想隐藏蛞蝓领域。如何隐藏或自定义管理员新文章视图?
这是我的model.py
from django.db import models
from django.core.urlresolvers import reverse
class Article(models.Model):
title = models.CharField(max_length=200)
slug = models.SlugField(unique = True, max_length = 255)
body = models.TextField()
created = models.DateTimeField(auto_now_add = True)
rating = 0
class Meta:
ordering = ['-created']
exclude = ('rating')
def __unicode__(self):
return self.title
def get_absolute_url(self):
return reverse('article.views.article', args=[self.slug])
5 月 7 日更新: 我试图在我的 admin.py 中指定字段,为了让它工作,我必须为我的 slug 删除 prepopulated_fields。这导致一个没有蛞蝓的帖子。难道没有办法让一个没有字段的蛞蝓获得标题吗?
这是我原来的 admin.py。
from django.contrib import admin
from article.models import Article
# Register your models here.
class ArticleAdmin(admin.ModelAdmin):
# fields display on change list
list_display = ['title', 'body']
# fields to filter the change list with
list_filter = ['created',]
# fields to search in change list
search_fields = ['title', 'body']
# enable the date drill down on change list
date_hierarchy = 'created'
# prepopulate the slug from the title - big timesaver!
prepopulated_fields = {"slug": ("title",)}
admin.site.register(Article, ArticleAdmin)
【问题讨论】:
-
对于您的更新,您可以覆盖
Article的保存方法以根据标题填充 slug,请查看:using slugify in save。 -
您真的应该将 Slug 问题移至新线程。
标签: python django django-admin