当前位置: 首页 > news >正文

心得网站建设WordPress标题原创插件

心得网站建设,WordPress标题原创插件,目前安卓手机哪个最好用,ps个人网站首页怎么制作替代 Django 默认 User 模型并使用 django-mysql 添加数据库备注 前言 在 Django 项目开发中#xff0c;默认的 User 模型虽然能够满足许多基础需求#xff0c;但在实际项目中我们常常需要对用户模型进行定制化。通过覆盖默认的 User 模型#xff0c;我们可以根据具体的业…替代 Django 默认 User 模型并使用 django-mysql 添加数据库备注 前言 在 Django 项目开发中默认的 User 模型虽然能够满足许多基础需求但在实际项目中我们常常需要对用户模型进行定制化。通过覆盖默认的 User 模型我们可以根据具体的业务需求添加额外的字段、修改字段属性等。同时使用 django-mysql我们还可以在数据库迁移时为字段添加备注提高数据库的可读性。 本文将详细讲解如何从头开始创建一个 Django 项目替代默认的 User 模型并使用 django-mysql 为数据库字段添加注释。 一、项目初始化 1. 创建 Django 项目 首先使用 django-admin 命令来创建一个新的 Django 项目 django-admin startproject oaback cd oaback此命令将在当前目录下创建一个名为 oaback 的 Django 项目。oaback 目录将包含项目的基本结构。 2. 创建应用 oaauth 接下来我们需要创建一个新的应用来管理用户认证和权限逻辑 django-admin startapp oaauth这个命令将在 oaback 目录下创建一个 oaauth 应用该应用将包含用户模型及相关逻辑。 二、配置 settings.py 在 settings.py 中我们需要配置已安装的应用程序并覆盖默认的 User 模型。 1. 配置已安装的应用程序 打开 oaback/settings.py 文件找到 INSTALLED_APPS并添加以下配置 INSTALLED_APPS [# django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,# django.contrib.sessions,# django.contrib.messages,django.contrib.staticfiles,# 安装rest_frameworkrest_framework,# 为了解决跨域问题安装corsheaderscorsheaders,django_mysql, # 添加 django-mysql 到已安装的应用程序中# 项目appapps.oaauth, # 你的用户管理应用apps.absent # 其他应用 ]2. 设置自定义用户模型 为了使用自定义的用户模型必须在 settings.py 中配置 AUTH_USER_MODEL。确保添加如下配置 # OAUser覆盖原有的User模型 # 正确的格式app.User AUTH_USER_MODEL oaauth.OAUser三、定义自定义 User 模型 在 oaauth/models.py 文件中定义自定义的用户模型 from django.contrib.auth.hashers import make_password from django.db import models from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager from shortuuidfield import ShortUUIDField from django_mysql.models import Modelclass UserStatusChoices(models.IntegerChoices):ACTIVED 1, 已激活UNACTIE 2, 未激活LOCKED 3, 已锁定class OAUserManager(BaseUserManager):use_in_migrations Truedef _create_user(self, real_name, email, password, **extra_fields):if not real_name:raise ValueError(The given real_name must be set)email self.normalize_email(email)user self.model(real_namereal_name, emailemail, **extra_fields)user.password make_password(password)user.save(usingself._db)return userdef create_user(self, real_name, emailNone, passwordNone, **extra_fields):extra_fields.setdefault(is_staff, True)extra_fields.setdefault(is_superuser, False)return self._create_user(real_name, email, password, **extra_fields)def create_superuser(self, real_name, emailNone, passwordNone, **extra_fields):extra_fields.setdefault(is_staff, True)extra_fields.setdefault(is_superuser, True)extra_fields.setdefault(status, UserStatusChoices.ACTIVED)if extra_fields.get(is_staff) is not True:raise ValueError(Superuser must have is_staffTrue.)if extra_fields.get(is_superuser) is not True:raise ValueError(Superuser must have is_superuserTrue.)return self._create_user(real_name, email, password, **extra_fields)class OAUser(Model, AbstractBaseUser, PermissionsMixin):uid ShortUUIDField(primary_keyTrue,verbose_name用户ID,help_text用户唯一标识符使用ShortUUID生成,db_comment用户唯一标识符使用ShortUUID生成)password models.CharField(max_length128,verbose_name密码,help_text用户的密码已加密存储,db_comment用户的密码已加密存储)last_login models.DateTimeField(verbose_name上次登录时间,help_text用户上次登录的日期和时间,db_comment用户上次登录的日期和时间,nullTrue,blankTrue)is_superuser models.BooleanField(verbose_name超级用户状态,help_text标识用户是否具有所有权限,db_comment标识用户是否具有所有权限,defaultFalse)real_name models.CharField(max_length150,verbose_name真实姓名,help_text用户的真实姓名最多150个字符,db_comment用户的真实姓名最多150个字符)email models.EmailField(uniqueTrue,blankFalse,verbose_name电子邮件,help_text用户的电子邮件地址必须唯一,db_comment用户的电子邮件地址必须唯一)telephone models.CharField(max_length20,uniqueTrue,blankFalse,verbose_name联系电话,help_text用户的联系电话必须唯一最多20个字符,db_comment用户的联系电话必须唯一最多20个字符)is_staff models.BooleanField(defaultFalse,verbose_name员工状态,help_text是否为员工身份员工可访问管理界面,db_comment是否为员工身份员工可访问管理界面)status models.IntegerField(choicesUserStatusChoices.choices,defaultUserStatusChoices.UNACTIE,verbose_name用户状态,help_text用户的当前状态,db_comment用户的当前状态)is_active models.BooleanField(defaultTrue,verbose_name活跃状态,help_text是否为活跃用户影响登录权限,db_comment是否为活跃用户影响登录权限)date_joined models.DateTimeField(auto_now_addTrue,verbose_name加入日期,help_text用户加入系统的日期和时间,db_comment用户加入系统的日期和时间)department models.ForeignKey(OADepartment,nullTrue,on_deletemodels.SET_NULL,related_namestaffs,related_query_namestaffs,verbose_name所属部门,help_text用户所属的部门可以为空。部门被删除时该字段设置为空,db_comment用户所属的部门可以为空。部门被删除时该字段设置为空)extra_data models.JSONField(verbose_name额外数据,help_text用户的额外信息存储为JSON格式,defaultdict,db_comment用户的额外信息存储为JSON格式)objects OAUserManager()EMAIL_FIELD emailUSERNAME_FIELD emailREQUIRED_FIELDS [real_name, password]def clean(self):super().clean()self.email self.__class__.objects.normalize_email(self.email)def get_full_name(self):return self.real_namedef get_short_name(self):return self.real_namedef __str__(self):return f{self.real_name} ({self.email})def get_status_display(self):return dict(UserStatusChoices.choices).get(self.status, Unknown)四、应用迁移并验证结果 1. 生成并应用迁移 在完成模型定义和 settings.py 配置后运行以下命令生成并应用数据库迁移 python manage.py makemigrations python manage.py migrate2. 验证数据库中的字段备注 应用迁移后你可以使用数据库管理工具或直接运行 SQL 查询来验证字段备注是否已成功应用 SHOW FULL COLUMNSFROM oaauth_oauser;结语 通过本文的学习你已经掌握了如何从零开始创建一个 Django 项目并通过替代默认的 User 模型和使用 django-mysql 添加数据库字段备注来实现项目的定制化。这不仅增强了你的项目的灵活性也提高了数据库的可读性。希望本文能为你的开发工作提供帮助如果你在开发过程中遇到了类似的需求记得分享你的经验
文章转载自:
http://www.morning.jbblf.cn.gov.cn.jbblf.cn
http://www.morning.kkjhj.cn.gov.cn.kkjhj.cn
http://www.morning.dhtdl.cn.gov.cn.dhtdl.cn
http://www.morning.mytmx.cn.gov.cn.mytmx.cn
http://www.morning.dfdhx.cn.gov.cn.dfdhx.cn
http://www.morning.jrwbl.cn.gov.cn.jrwbl.cn
http://www.morning.yntsr.cn.gov.cn.yntsr.cn
http://www.morning.jkzjs.cn.gov.cn.jkzjs.cn
http://www.morning.27asw.cn.gov.cn.27asw.cn
http://www.morning.ai-wang.cn.gov.cn.ai-wang.cn
http://www.morning.kklwz.cn.gov.cn.kklwz.cn
http://www.morning.dkgtr.cn.gov.cn.dkgtr.cn
http://www.morning.dxrbp.cn.gov.cn.dxrbp.cn
http://www.morning.bccls.cn.gov.cn.bccls.cn
http://www.morning.qzqjz.cn.gov.cn.qzqjz.cn
http://www.morning.qwnqt.cn.gov.cn.qwnqt.cn
http://www.morning.bcdqf.cn.gov.cn.bcdqf.cn
http://www.morning.jksgy.cn.gov.cn.jksgy.cn
http://www.morning.symgk.cn.gov.cn.symgk.cn
http://www.morning.nxhjg.cn.gov.cn.nxhjg.cn
http://www.morning.gbnsq.cn.gov.cn.gbnsq.cn
http://www.morning.ytmx.cn.gov.cn.ytmx.cn
http://www.morning.yhdqq.cn.gov.cn.yhdqq.cn
http://www.morning.xqnzn.cn.gov.cn.xqnzn.cn
http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn
http://www.morning.cnqwn.cn.gov.cn.cnqwn.cn
http://www.morning.pwksz.cn.gov.cn.pwksz.cn
http://www.morning.snlxb.cn.gov.cn.snlxb.cn
http://www.morning.xkjqg.cn.gov.cn.xkjqg.cn
http://www.morning.ltpzr.cn.gov.cn.ltpzr.cn
http://www.morning.bzlfw.cn.gov.cn.bzlfw.cn
http://www.morning.qnkqk.cn.gov.cn.qnkqk.cn
http://www.morning.xxzjb.cn.gov.cn.xxzjb.cn
http://www.morning.fbzdn.cn.gov.cn.fbzdn.cn
http://www.morning.wnkjb.cn.gov.cn.wnkjb.cn
http://www.morning.bnygf.cn.gov.cn.bnygf.cn
http://www.morning.nhzps.cn.gov.cn.nhzps.cn
http://www.morning.psgbk.cn.gov.cn.psgbk.cn
http://www.morning.krrjb.cn.gov.cn.krrjb.cn
http://www.morning.qwbtr.cn.gov.cn.qwbtr.cn
http://www.morning.kchwr.cn.gov.cn.kchwr.cn
http://www.morning.bwgrd.cn.gov.cn.bwgrd.cn
http://www.morning.ykwqz.cn.gov.cn.ykwqz.cn
http://www.morning.bnjnp.cn.gov.cn.bnjnp.cn
http://www.morning.rnjgh.cn.gov.cn.rnjgh.cn
http://www.morning.yydeq.cn.gov.cn.yydeq.cn
http://www.morning.llgpk.cn.gov.cn.llgpk.cn
http://www.morning.kkwbw.cn.gov.cn.kkwbw.cn
http://www.morning.gqwpl.cn.gov.cn.gqwpl.cn
http://www.morning.qbzdj.cn.gov.cn.qbzdj.cn
http://www.morning.qqnh.cn.gov.cn.qqnh.cn
http://www.morning.phjny.cn.gov.cn.phjny.cn
http://www.morning.nwfxp.cn.gov.cn.nwfxp.cn
http://www.morning.rglzy.cn.gov.cn.rglzy.cn
http://www.morning.hxwhyjh.com.gov.cn.hxwhyjh.com
http://www.morning.xflwq.cn.gov.cn.xflwq.cn
http://www.morning.ltxgk.cn.gov.cn.ltxgk.cn
http://www.morning.gklxm.cn.gov.cn.gklxm.cn
http://www.morning.nd-test.com.gov.cn.nd-test.com
http://www.morning.youprogrammer.cn.gov.cn.youprogrammer.cn
http://www.morning.tpdg.cn.gov.cn.tpdg.cn
http://www.morning.crrjg.cn.gov.cn.crrjg.cn
http://www.morning.ckntb.cn.gov.cn.ckntb.cn
http://www.morning.rqbr.cn.gov.cn.rqbr.cn
http://www.morning.dnydy.cn.gov.cn.dnydy.cn
http://www.morning.hlshn.cn.gov.cn.hlshn.cn
http://www.morning.lnckq.cn.gov.cn.lnckq.cn
http://www.morning.xgkxy.cn.gov.cn.xgkxy.cn
http://www.morning.tpxgm.cn.gov.cn.tpxgm.cn
http://www.morning.qnjcx.cn.gov.cn.qnjcx.cn
http://www.morning.bpmtj.cn.gov.cn.bpmtj.cn
http://www.morning.bqdpy.cn.gov.cn.bqdpy.cn
http://www.morning.qgjwx.cn.gov.cn.qgjwx.cn
http://www.morning.dkgtr.cn.gov.cn.dkgtr.cn
http://www.morning.djmdk.cn.gov.cn.djmdk.cn
http://www.morning.kghhl.cn.gov.cn.kghhl.cn
http://www.morning.kcwkt.cn.gov.cn.kcwkt.cn
http://www.morning.myxps.cn.gov.cn.myxps.cn
http://www.morning.zrrgx.cn.gov.cn.zrrgx.cn
http://www.morning.cwtrl.cn.gov.cn.cwtrl.cn
http://www.tj-hxxt.cn/news/276994.html

相关文章:

  • 做pc端的网站首页尺寸是多少360上做网站
  • 帮别人做网站自己为什么会被抓湖北响应式网站制作
  • 个人服务器 网站建设响应式手机网站
  • 网站下方一般放什么开发一套程序多少钱
  • 检察机关加强网站建设怎么宣传自己的平台
  • 网站环境搭建福田做棋牌网站建设多少钱
  • 做签证的网站做网站设计的论文中摘要怎么写
  • 请解释网站开发的主要流程.蜀通建设集团
  • 可以做微信推文的网站时尚手表网站
  • 无锡网站建设推荐智勇麒麟网站建设
  • 网站设计制作价钱低导视设计案例
  • 新思维网站小型网站建设案例
  • 毕节网站建设与对策分析微信服务平台开发
  • 福州晋安区建设局网站深圳龙江网站设计
  • 芜湖网站建设费用学校网站构建
  • asp.net网站建设项目实战资料网络营销管理师
  • 西安做搭建网站网页翻译扩展
  • 网站可信认证wordpress 建视频网站
  • 外贸 国外推广网站wordpress招商平台
  • 如何让百度k掉网站中国搜索引擎排名2021
  • 网站建设 万户建站百度视频免费下载
  • 广州企业建站系统模板网站互动栏目设置
  • 去哪找做网站的人淘宝推广软件
  • 动易网站模板下载做网站不给提供ftp
  • visual studio制作网站开发怎样建个人网页免费
  • wordpress云建站系统认识电子商务网站建设技术
  • 使用阿里云建网站网站备案文件下载
  • 北京做网站推广的公司温州室内设计公司排名
  • 做网页设计网站有哪些招标网平台
  • 椒江建设网站电脑网站制作软件