• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Django创建一个后台的基本步骤记录

python 搞代码 4年前 (2022-01-08) 17次浏览 已收录 0个评论

这篇文章主要给大家介绍了关于Django创建一个后台的基本步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.首先分析要做的项目的结构,整理出关系图

2.运行 python manage.py startapp XXX 创建一个app

3.根据关系图设计mode来源gaodai$ma#com搞$代*码*网ls层,理清关系,设计好数据结构

4.在settings的位置配置app所在的位置

5.运行python manage.py makemigrations

6.运行 python manage.py migrate

7配置后台 建议运用装饰器如下:

 @admin.register(模块类名) class 模块类名Admin(admin.ModelAdmin): 配置的代码,比如显示什么 等等 

8.运行python manage.py createsuperuser 然后根据提示输入用户名和邮箱等个人信息,其中邮箱可为空,密码在输入的时候不显示在控制台.

10.在定义models字段时经常需要遇到根据请求来源改变用户名的时候,可将方法重写如下:

 def save_model(self, request, obj, form, change): obj.owner = request.user return super(模块类名Admin, self).save_model(request,obj,form,change) 

此时的list_display列表 owner 字段 就会根据请求的不同来源自动赋值

11.在定义模块时没有定义的字段如登陆用户可以在后台进行修改如下:

 def 字段名称(self, obj): return obj.xxx() 字段名称.short_description = '文本描述' 

此时可以在list_display列表里添加 字段名称 这个字段如下:

 list_display = [ 'name','sex','age','字段名称' ] 

12.在每个models的类都添加__str__方法非常重要如下:

 def __str__(self): return self.字段名称 

13.如果过滤器()不符合自己的需求那么可以自己定制过滤器,基本思想是找到queryset,然后进行一个过滤,主要是继承了admin.SimpleListFilter类,然后对两个属性和两个方法进行重写,如下:

 class 类名Filter(admin.SimpleListFilter): """自定义过滤器 """ title = '分类过滤器' parameter_name = 'owner_category' def lookups(self, request, model_admin): return Category.objects.filter(筛选条件).values_list('参数1,必须是主键', '参数2,显示在界面上的内容') def queryset(self, request, queryset): category_id = self.value() if category_id: return queryset.filter(category__id=category_id) return queryset @admin.register(类名) class 类名Admin(admin.ModelAdmin): list_filter = [类名Filter] 

14.若显示界面的内容也就是 list_display的内容不符合预期,我们也可以进行定制.主要原理还是找到queryset在哪里生成也就是数据源的位置进行过滤即可,一般都是get_queryset方法是最后生成queryset的位置.如下:

 def get_queryset(self, request): qs = super(PostAdmin, self).get_queryset(request) return qs.filter(筛选条件) 

介于本人学习的进度,编辑页面的配置日后补齐

总结

以上就是Django创建一个后台的基本步骤记录的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Django创建一个后台的基本步骤记录

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址