一、先确认admin该有的都有
1.urls.py
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),]
2.seetings.py
INSTALLED_APPS = [
'django.contrib.admin',]
二、从app里面写好自定义内容
1.app里面的urls.py写好,这个简单不写了
2.app里面的视图函数写好,这个也简单
3.用不到数据模型就不用在models.py里面定义了
4.app里面的admin.py里面注册上准备好的东西,重要
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.contrib import admin
# Register your models here.
class LogSearch(type):
class Meta:
verbose_name = '日志查询'
model_name = 'LogSearch'
app_label = 'common'
abstract = False
swapped = False
app_config = False
verbose_name_plural = verbose_name
object_name = 'LogSearch'
_meta = Meta
@admin.register(LogSearch)
class LogSearchAdmin(admin.ModelAdmin):
def changelist_view(self, request, extra_content=None):
from views import log_index
return log_index(request)
5.app里面的templates里面写好自定义的页面
基本上就能实现在Django自带的admin里面加页面的需求了,数据库表不用动,admin加点东西挺方便
参考:
https://www.cnblogs.com/AcAc-t/p/django_template_admin_site_model_python.html
http://www.cnblogs.com/AcAc-t/p/django_template_admin_site_model_python_1.html