Django学习3

自定义管理表单

上面是创建了一个模型管理对象QuestionAdmin,然后将它传入到admin.site.register(),作为第二个参数. 上面特定的更改,使得"publication date"字段排在"Question"字段前面:

说到许多字段的表单,你可能想把表单分割成字段集:

表单变为:

还可以任意为每个字段制定HTML样式类:

显示为:

添加关联对象:

已经建立了Question管理对象,一个Question有多个Choices,管理界面并没有显示出来,因此我们需要在管理站点中注册Choice:

告诉DjangoL:Choice对象在Question的管理界面中编辑.默认提供三个Choice的空间.显示为:

有三个关联的Choice---由extra指定----每次你回到已经存在对象的"Chocie"页面时,都会获得三个额外的空表Choice.

由于显示Choice占用了大量的屏幕空间.未解决这个问题,Django提供了一种以表格形式显示内嵌的相关连对象的方法;只需改变一下ChocieInline的声明即可:

将StackedInline变为TabularInline:

显示为:

自定义管理界面中的变更列表:Question管理界面调整一下"变更列表"界面:

我们使用list_display选项来实现这个功能,它是一个要显示字段名称的元组,在对象的变更列表页面上作为列显示:

显示为:

添加一些修饰属性为:

显示为:

添加过滤器:

显示为:

添加搜索功能:

显示为:

自定义管理站点的外观:

1.自定义项目的模板:在自己创建的文件夹内创建一个templates目录,将模板放在其中是标准约定.

在配置文件settings.py中的TEMPLATES设置中添加一个DIRS选项:

2,将在templates下创建的admin目录,将admin/base_site.html从Django源码中管理站点的模板目录(django/contrib/admin/templates)拷贝到这个目录中.

只需编辑这个html文件,将其中的一些代码更改为:

得到

自定义应用的模板

Django是通过settings.py中的APP_DIRS设置为True,Django会在每个应用包下查找一个templates子目录,留作备用.



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django是一个流行的高级Python Web框架,用于快速开发安全、可维护的Web应用。如果你想学习Django,以下是一个基本的学习路径建议: 1. **安装和环境设置**: - 安装Python(推荐使用最新版本) - 安装Django和必要的依赖(如pip, virtualenv或conda) 2. **入门教程**: - 阅读官方文档的快速入门指南(https://docs.djangoproject.com/en/stable/getting-started/) - 通过官方教程创建第一个Django项目(Hello World应用) 3. **基础知识**: - Django MVC(模型-视图-控制器)架构理解 - 模型(Model):数据库操作和ORM(Object-Relational Mapping) - 视图(View):处理HTTP请求,调用模型并返回响应 - 控制器(Controller):前端界面的逻辑处理,但实际在Django中很少单独使用 4. **模板系统**: - 学习Django模板语言(Template Language),如何渲染数据到HTML页面 5. **URL路由和视图**: - Django URL patterns,如何定义应用的URL结构 - 函数视图和类视图的区别 6. **表单处理**: - Django Forms API,如何创建和验证用户输入 7. **认证和授权**: - 设置用户身份验证(Authentication)和权限管理(Authorization) 8. **中间件(Middleware)**: - 了解Django的内置中间件和自定义中间件的使用场景 9. **模板继承和模板标签**: - 更深入地了解模板的继承和自定义过滤器和标签 10. **部署**: - 选择部署方法(如Gunicorn, Nginx等),并了解Docker部署 11. **实战项目**: - 开始构建小型应用,如博客、论坛或库存管理系统,以巩固所学知识 **相关问题--:** 1. Django的MVC架构具体是如何工作的? 2. 什么是Django的表单验证?有哪些内置验证方法? 3. 如何在Django中实现自定义的认证系统?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值