简单演示django使用二

python环境以及代码接上一篇django使用一。


使用django自带的admin后台管理界面:

第一步:创建后台管理用户

python manage.py createsuperuser

根据对话框提示,输入用户名为:root、邮箱为:root@qq.com、密码为:root、确认密码为:root即可。


第二步:运行web服务器

python manage.py runserver 192.168.255.70:8080


第三步:访问django的web页面

浏览器访问http://192.168.255.70:8080

简单演示django使用二

第四步:访问admin后台管理页面

访问浏览器http://192.168.255.70:8080/admin,输入用户名和密码即可登录。

简单演示django使用二

点击Log in进入:

简单演示django使用二


第五步:把模型类添加到管理后台界面中即注册模型类

修改test1/test1/settings.py文件:

LANGUAGE_CODE = 'zh-hans' #把界面变成中文

TIME_ZONE = 'Asia/Shanghai' #时区为本国


把模型类添加到admin管理后台:

编辑test1/bookshop/admin.py文件:

from django.contrib import admin

from .models import *

admin.site.register(BookInfo)


刷新浏览器:

简单演示django使用二

注意:在django中,修改配置文件会后自动生效,无需重启web服务器。

此时,就可在后台管理页面,进行增删改查操作了。


第六步:自定义管理后台显示字段

在后台管理页面,添加几条记录信息。


编辑test1/bookshop/admin.py文件:

from django.contrib import admin

class BookInfoAdmin(admin.ModelAdmin):

   list_display = ['id', 'btitle', 'bpub_date'] #定义显示字段

   list_filter = ['btitle'] #过滤字段,过滤框在右边

   search_fields = ['btitle'] #搜索字段,搜索框在上边

   list_per_page = 1 #分页,页面在下边

   fieldsets = [ #属性的先后顺序,并分组

       ('base',{'fields':['btitle']}),

       ('super',{'fields':['bpub_date']}),

   ]

from .models import *

admin.site.register(BookInfo,BookInfoAdmin)


刷新浏览器:

简单演示django使用二


第七步:关联对象,注册HeroInfo模型类

除了像admin.site.register(BookInfo)这样注册模型类,还可以关联注册:

编辑bookshop/admin.py文件:

from django.contrib import admin

from .models import *


#class HeroInfoInline(admin.StackedInline): #内嵌列表方式

class HeroInfoInline(admin.TabularInline): #表格方式

    model = HeroInfo

    extra = 3


class BookInfoAdmin(admin.ModelAdmin):

    list_display = ['id', 'btitle', 'bpub_date']

    list_filter = ['btitle']

    search_fields = ['btitle']

    list_per_page = 10

    fieldsets = [

        ('base',{'fields':['btitle']}),

        ('super',{'fields':['bpub_date']}),

    ]

    inlines = [HeroInfoInline]


admin.site.register(BookInfo,BookInfoAdmin)

admin.site.register(HeroInfo)


改变前在浏览器添加bookinfo界面如下:

简单演示django使用二

修改后,且关联对象以表格方式显示,浏览器添加bookinfo界面如下:

简单演示django使用二

关联对象以嵌入式显示,浏览器添加bookinfo界面如下:


简单演示django使用二此时,如果继续添加另一个Hero info,则改条目是可以删除的。