摘要:前言 前面一篇在xadmin后台一个页面显示2个关联表(OneToOneField)的字段,使用inlines内联显示。本篇继续学习一对一(OneToOneField)关联的查询。 上一篇list_display只显示了当前表的字段信息,如果想显示关联表的字段,需要关联查询。 一对一(OneToOn
阅读全文
摘要:前言 xadmin后台如果要对表的内容增删改查,跟之前的admin.py文件里面写注册表信息一样,需在admin.py同一级目录新建一个adminx.py的文件。 然后在admin.py文件控制页面上需显示的内容。 models模块 models模块跟之前设计表是一样的,在models.py文件设计
阅读全文
摘要:前言 django自带的admin后台管理页面有点丑陋,于是网上的大神优化了一版后台管理xadmin,并且开源了,在github开源下载到源码。 注意环境搭配: django 2.2 xadmin 2.0 python 3.7 xadmin安装 xadmin在github的源码地址https://g
阅读全文
摘要:前言 假如有一张表(Card)记录用户的卡号信息和用户名,现在需要新增一个小功能,记录用户的手机号,邮箱和住址等更多信息。 为了不影响原来的表设计,可以新增一张表(CardDetail),专门记录用户的其它更多信息。 银行账户(Card)和联系方式(CardDetail),一个银行账户对应一个联系人
阅读全文
摘要:前言 一本书可以有多个作者,一个作者也可以写多本书,这种关系就是本篇要说的多对多关系。 这种场景在django里面数据库设计时候,需要用到ManyToManyField方法 多对多表设计 auther(作者)表里面放作者的基本信息,book(书本信息)表放书的相关信息,书里面book_auth(作者
阅读全文
摘要:前言 平常的网页上有很多一对多的场景,比如填写银行卡信息的时候,会从银行列表下拉框选择对应的银行信息。 一般会建两张表,一张表放银行的信息,一张表放银行卡信息。 每个银行可以对应多个银行卡,每个银行卡只能是一家银行的。那么银行名称和银行卡就是一对多的关系,反之,银行卡和银行名称就是多对一的关系 一对
阅读全文
摘要:前言 Django的send_mail()和send_mass_mail()函数事实上是对EmailMessage类使用方式的一个轻度封装。send_mail()和相关的其他封装函数并没有充分使用EmailMessage类的所有特性。 要想使用更多特性,比如暗送(BCC),加入附件,或是多用途格式(
阅读全文
摘要:前言 上一篇已经通过send_mail()函数发送纯文本的邮件,发送成功了,如果我们想发送一个html格式的邮件,如何实现呢? 发送html格式的邮件实际上还是调用send_mail()函数,只需多加一个html_message参数 html_message参数 从上一篇的send_mail()函数
阅读全文
摘要:前言 django发邮件的功能很简单,只需简单的配置即可,发邮件的代码里面已经封装好了,调用send_mail()函数就可以了 实现多个邮件发送可用用send_mass_mail()函数 send_mail()函数 先导入send_mail函数 from django.core.mail impor
阅读全文
摘要:前言 跟账号相关的功能一般是注册,登录,修改密码,密码找回功能,前面实现了登录和注册功能,本篇讲下修改密码功能实现 修改密码html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>修改密码</title>
阅读全文
摘要:前言 注册和登录功能实现都是post请求接口,只不过注册是往数据库插入数据,登录时从数据库里面查询数据。本篇接着上一篇写个简单的登录页面请求,用户注册是密码加密存储,用户登录时候对输入的密码校验。 登录页面 templates/login.html <!DOCTYPE html> <html lan
阅读全文
摘要:前言 一个网站上新用户注册,会写个注册页面,如果用django写个注册页面的流程呢? 本篇以post请求示例,从html页面上输入用户注册信息,提交到后台处理数据,然后传参数据到users数据库表里面。 注册页面html 注册页面设计,需输入用户名(必填)、密码(必填)、邮箱(非必填),点注册按钮提
阅读全文
摘要:前言 通常我们需要在html页面上输入框里面输入数据,比如登录的时候,输入账号和密码,点提交按钮。 从html把数据提交到服务端,服务端接收数据后判断提交的数据,然后做出对应的响应,这么一整个流程就是表单相关的知识点,涉及到数据的交互。 form表单 表单在html中由<form>标签实现,一个完整
阅读全文
摘要:前言 列表页优化和排序 ModelAdmin django的options.py里面ModelAdmin类定义的参数可以设置admin后台列表页面,相关的参数如下 class ModelAdmin(BaseModelAdmin): """Encapsulate all admin options a
阅读全文
摘要:前言 django的admin首页默认显示的"Django管理",title显示的是"Django站点管理员",这里的文案内容可以修改成自己项目的后台页面内容 首页和title django后台首页点开,修改成项目对应的文案,修改如下图2个地方 admin.py修改 sites.py源码里面Admi
阅读全文
摘要:前言 admin后台页面名称(默认会多加一个s)和字段名称是直接显示在后台的,如果我们想设置成中文显示需加verbose_name和verbose_name_plural属性; verbose_name 如下图表示,列表标题显示的是数据库里面的字段(Field)名称,如果想让它显示中文的名称,需加个
阅读全文
摘要:前言 我们在admin后台发布一篇文章的时候,一般会有创建时间和最后更新时间这2个字段,创建时间就是第一次编辑文章的时候自动添加的,最后更新时间就是每次修改文章的内容后自动更新 在models.py建表的时候,设置create_time和update_time字段,类型为DateTimeField,
阅读全文
摘要:前言 django的admin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观。 在admin.py文件里面是可以自定义相关的内容的,也可以添加搜索框,快速的搜索相关内容。 优化列表显示 django的表信息 列表显示默认值显示了表的相关属性; 如果我们想让表
阅读全文
摘要:前言 django的admin后台页面默认是英文的,不喜欢英文的话,可以改下setting.py里面的语言设置,改成中文版的显示 语言设置 打开setting.py,找到以下内容 # Internationalization # https://docs.djangoproject.com/en/3
阅读全文
摘要:前言 通常一个网站开发,需要有个后台管理功能,比如用后台管理发布文章,添加用户之类的操作。django的admin后台管理主要可以实现以下功能 基于admin模块,可以实现类似数据库客户端的功能,对数据进行增删改查 于该模块的数据管理功能,可以二次定制一些实用的功能 settings.py配置 在I
阅读全文