如何复制Django管理员添加新行功能?
问题描述:
我正在寻找一种方法来实现从模板中的Django admin到正常形式的“add new model_name”功能,即:在Django管理员之外,我怎样才能使用相同的功能。如何复制Django管理员添加新行功能?
我怎么能实现呢?
答
的第一步是创建业务模块内models.py
class Business(models.Model):
name = models.CharField(max_length=200, db_index=True)
slug = models.SlugField(max_length=200, db_index=True, unique=True)
class Meta:
ordering = ('name',)
verbose_name = 'business'
verbose_name_plural = 'business'
def __str__(self):
return self.name
然后使用python manage.py migrate
迁移数据库内的模块。
现在打开admin.py文件,并注册这个模块,
from .models import Business
# Register your models here.
class BusinessAdmin(admin.ModelAdmin):
list_display = ['name', 'slug']
prepopulated_fields = {'slug': ('name',)}
admin.site.register(Business,BusinessAdmin)
现在检查你的Django管理面板。它会向您显示新业务模块,使用添加删除功能。
我希望这会对你有所帮助。
我想我在说明中没有说清楚。我很抱歉,但我正在寻找一种方法来复制它在Django管理员以外的常规模板中,用于填充表单而不是Django管理员。 – Maverick