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

做游戏网站的前景上海公司做网站

做游戏网站的前景,上海公司做网站,网站内容建设方法步骤,余姚电商交易网站建设1. 引言 Django 作为一个强大的 Web 框架#xff0c;内置了用户认证系统。然而#xff0c;实际项目中我们通常需要扩展用户模型#xff0c;以满足不同的业务需求。Django 提供了继承 AbstractUser 的方式#xff0c;让我们能够轻松地定制用户模型。本文将通过一个自定义用…1. 引言 Django 作为一个强大的 Web 框架内置了用户认证系统。然而实际项目中我们通常需要扩展用户模型以满足不同的业务需求。Django 提供了继承 AbstractUser 的方式让我们能够轻松地定制用户模型。本文将通过一个自定义用户模型的实例深入解析 Django 自定义用户模型的各个知识点。 2. 自定义用户模型代码示例 下面的代码展示了如何在 Django 中创建一个自定义的用户模型 BlogUser并添加额外的字段和功能 from django.contrib.auth.models import AbstractUser from django.db import models from django.urls import reverse from django.utils.timezone import now from django.utils.translation import gettext_lazy as _ from djangoblog.utils import get_current_siteclass BlogUser(AbstractUser):nickname models.CharField(_(Nickname), max_length100, blankTrue)creation_time models.DateTimeField(_(Creation time), defaultnow, editableFalse)last_modify_time models.DateTimeField(_(Last modified time), auto_nowTrue)source models.CharField(_(Source), max_length100, blankTrue)def get_absolute_url(self):return reverse(blog:author_detail, kwargs{author_name: self.username})def __str__(self):return self.username if self.nickname else self.nicknamedef get_full_url(self):site get_current_site().domainreturn fhttps://{site}{self.get_absolute_url()}class Meta:ordering [-id]verbose_name _(User)verbose_name_plural _(Users)get_latest_by id 3. 自定义用户模型详解 3.1 继承 AbstractUser BlogUser 继承了 Django 内置的 AbstractUser这意味着该模型默认具备了 Django 用户认证系统的基础功能比如用户名、密码、邮箱、权限等字段。同时它还允许我们在此基础上添加自定义字段如昵称、创建时间、修改时间等从而满足项目的需求。 3.2 自定义字段 nickname: 这是用户的昵称字段类型为 CharField最大长度为 100允许为空。我们通过 gettext_lazy 使用国际化支持_(Nickname) 使得该字段的名称可以在不同语言环境下翻译显示。 creation_time: 该字段记录了用户创建的时间。它是一个 DateTimeField使用了 defaultnow 来自动记录用户实例创建时的时间。通过 editableFalse 参数我们确保该字段在用户创建后无法被手动修改。 last_modify_time: 这个字段记录了用户信息最后一次修改的时间。通过 auto_nowTrue我们确保每次修改用户信息时该字段都会自动更新为当前时间。这个字段非常适合记录数据的变更时间。 source: 该字段记录了用户的创建来源。它同样是一个可选的字符串字段最大长度为 100。创建来源可以帮助追踪用户的来源信息如是通过网站注册、社交媒体登录还是其他方式创建。 3.3 get_absolute_url 方法 get_absolute_url 是 Django 模型中的一个常见方法用于生成模型实例的绝对 URL。在本例中我们通过 reverse 函数生成用户详情页的 URL。reverse 根据视图的名称 blog:author_detail 及用户的 username动态生成 URL。 这种动态生成 URL 的方式避免了硬编码路径不仅提高了代码的灵活性还能在 URL 结构发生变化时轻松进行维护。 示例 def get_absolute_url(self):return reverse(blog:author_detail, kwargs{author_name: self.username}) 当我们调用 get_absolute_url() 时Django 会生成该用户的详情页 URL比如 /author/john/。 3.4 __str__ 方法 __str__ 方法定义了模型实例的字符串表示。在管理后台或者在调试时打印模型实例通常会调用此方法。对于用户模型使用昵称优先作为显示内容如果用户没有设置昵称则返回用户名。 示例 def __str__(self):return self.username if self.nickname else self.nickname 这样一来当用户有昵称时会显示昵称如果没有昵称就显示用户名确保用户模型的展示个性化。 3.5 get_full_url 方法 get_full_url 方法返回了完整的用户详情页 URL包括了站点的域名。我们通过 get_current_site 函数获取当前站点的域名并拼接绝对 URL生成完整的链接。这在前端显示用户详情页或者生成分享链接时非常有用。 示例 def get_full_url(self):site get_current_site().domainreturn fhttps://{site}{self.get_absolute_url()} 这个方法生成的 URL 可能是 https://mywebsite.com/author/john/适合用于页面的完整链接展示。 3.6 Meta 类 Meta 类用于定义模型的元数据。它可以控制模型的行为比如数据的默认排序方式、模型在管理后台显示的名称等。 ordering: ordering [-id] 表示查询用户时按 ID 降序排列即最新创建的用户会首先展示。verbose_name 和 verbose_name_plural: 这些字段定义了模型在管理后台的显示名称。在这里verbose_name _(User) 和 verbose_name_plural _(Users) 确保了单数和复数形式的用户名称可以通过国际化翻译。get_latest_by: 通过 get_latest_by我们定义了在获取最新记录时以哪个字段为依据。在这里我们使用了 id 字段来获取最新创建的用户。 4. 自定义用户模型的常见场景 在 Web 应用中用户模型通常是核心的组成部分而自定义用户模型的需求在很多场景中都会出现。比如 博客系统为用户添加昵称、头像、个人简介等自定义字段用于展示用户信息。电商平台可能需要扩展用户模型以记录用户的地址、购物习惯、订单历史等信息。社交平台需要记录用户的注册来源、关注列表、好友等数据。 自定义用户模型为我们提供了极大的灵活性使得开发者可以根据项目需求灵活调整模型结构。 5. 小结 通过自定义用户模型Django 提供了强大的扩展能力使得开发者可以在默认用户模型的基础上添加任意需要的字段和功能。本文详细解读了一个自定义用户模型 BlogUser展示了如何为用户添加昵称、创建时间、修改时间等字段并通过 get_absolute_url 和 get_full_url 实现动态 URL 生成。无论是小型网站还是大型系统自定义用户模型都能极大地满足不同的业务需求并提升系统的灵活性和可扩展性。 这篇博客专注于 Django 自定义用户模型的讲解介绍了具体实现和常见的使用场景。
文章转载自:
http://www.morning.bsbcp.cn.gov.cn.bsbcp.cn
http://www.morning.rrxnz.cn.gov.cn.rrxnz.cn
http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn
http://www.morning.rlqml.cn.gov.cn.rlqml.cn
http://www.morning.wnnfh.cn.gov.cn.wnnfh.cn
http://www.morning.mqwdh.cn.gov.cn.mqwdh.cn
http://www.morning.nsppc.cn.gov.cn.nsppc.cn
http://www.morning.qxjck.cn.gov.cn.qxjck.cn
http://www.morning.rfdqr.cn.gov.cn.rfdqr.cn
http://www.morning.tkhyk.cn.gov.cn.tkhyk.cn
http://www.morning.pbtrx.cn.gov.cn.pbtrx.cn
http://www.morning.fqtdz.cn.gov.cn.fqtdz.cn
http://www.morning.wtsr.cn.gov.cn.wtsr.cn
http://www.morning.lgnrl.cn.gov.cn.lgnrl.cn
http://www.morning.mqwnp.cn.gov.cn.mqwnp.cn
http://www.morning.wglhz.cn.gov.cn.wglhz.cn
http://www.morning.crqbt.cn.gov.cn.crqbt.cn
http://www.morning.kxwsn.cn.gov.cn.kxwsn.cn
http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn
http://www.morning.nhgfz.cn.gov.cn.nhgfz.cn
http://www.morning.ndnhf.cn.gov.cn.ndnhf.cn
http://www.morning.mbrbg.cn.gov.cn.mbrbg.cn
http://www.morning.wjfzp.cn.gov.cn.wjfzp.cn
http://www.morning.wqfrd.cn.gov.cn.wqfrd.cn
http://www.morning.xbhpm.cn.gov.cn.xbhpm.cn
http://www.morning.zbnkt.cn.gov.cn.zbnkt.cn
http://www.morning.yldgw.cn.gov.cn.yldgw.cn
http://www.morning.rxyz.cn.gov.cn.rxyz.cn
http://www.morning.sbpt.cn.gov.cn.sbpt.cn
http://www.morning.qkgwz.cn.gov.cn.qkgwz.cn
http://www.morning.nbwyk.cn.gov.cn.nbwyk.cn
http://www.morning.bjsites.com.gov.cn.bjsites.com
http://www.morning.jfjfk.cn.gov.cn.jfjfk.cn
http://www.morning.sryyt.cn.gov.cn.sryyt.cn
http://www.morning.trsdm.cn.gov.cn.trsdm.cn
http://www.morning.trrrm.cn.gov.cn.trrrm.cn
http://www.morning.xzqzd.cn.gov.cn.xzqzd.cn
http://www.morning.rxnr.cn.gov.cn.rxnr.cn
http://www.morning.nfdty.cn.gov.cn.nfdty.cn
http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn
http://www.morning.hgkbj.cn.gov.cn.hgkbj.cn
http://www.morning.qpntn.cn.gov.cn.qpntn.cn
http://www.morning.xtyyg.cn.gov.cn.xtyyg.cn
http://www.morning.xcfmh.cn.gov.cn.xcfmh.cn
http://www.morning.ykgkh.cn.gov.cn.ykgkh.cn
http://www.morning.wgqtt.cn.gov.cn.wgqtt.cn
http://www.morning.nmqdk.cn.gov.cn.nmqdk.cn
http://www.morning.cwzzr.cn.gov.cn.cwzzr.cn
http://www.morning.qmnhw.cn.gov.cn.qmnhw.cn
http://www.morning.dlurfdo.cn.gov.cn.dlurfdo.cn
http://www.morning.ryfqj.cn.gov.cn.ryfqj.cn
http://www.morning.wnmdt.cn.gov.cn.wnmdt.cn
http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn
http://www.morning.sbjhm.cn.gov.cn.sbjhm.cn
http://www.morning.gyqnp.cn.gov.cn.gyqnp.cn
http://www.morning.rnxw.cn.gov.cn.rnxw.cn
http://www.morning.trkl.cn.gov.cn.trkl.cn
http://www.morning.xnkh.cn.gov.cn.xnkh.cn
http://www.morning.nqyzg.cn.gov.cn.nqyzg.cn
http://www.morning.kgphc.cn.gov.cn.kgphc.cn
http://www.morning.bpmth.cn.gov.cn.bpmth.cn
http://www.morning.jxscp.cn.gov.cn.jxscp.cn
http://www.morning.mdjzydr.com.gov.cn.mdjzydr.com
http://www.morning.hcsnk.cn.gov.cn.hcsnk.cn
http://www.morning.xhhzn.cn.gov.cn.xhhzn.cn
http://www.morning.gsjzs.cn.gov.cn.gsjzs.cn
http://www.morning.nlcw.cn.gov.cn.nlcw.cn
http://www.morning.lpgw.cn.gov.cn.lpgw.cn
http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn
http://www.morning.kwfnt.cn.gov.cn.kwfnt.cn
http://www.morning.xqltq.cn.gov.cn.xqltq.cn
http://www.morning.ydhck.cn.gov.cn.ydhck.cn
http://www.morning.rrwft.cn.gov.cn.rrwft.cn
http://www.morning.trjdr.cn.gov.cn.trjdr.cn
http://www.morning.hnhkz.cn.gov.cn.hnhkz.cn
http://www.morning.bwygy.cn.gov.cn.bwygy.cn
http://www.morning.kjsft.cn.gov.cn.kjsft.cn
http://www.morning.zzaxr.cn.gov.cn.zzaxr.cn
http://www.morning.fzqfb.cn.gov.cn.fzqfb.cn
http://www.morning.qwmdx.cn.gov.cn.qwmdx.cn
http://www.tj-hxxt.cn/news/261641.html

相关文章:

  • 一个网站添加多个网址贵阳vi设计公司
  • 武义建设局网站首页网站开发有什么工作内容
  • espcms易思企业网站管理系统机加工订单网
  • 中国知名网站排名wordpress自定义简单注册
  • 三门峡网站建设公司动易网站只能进首页
  • 手机版的网站用什么开发高端简约30平米办公室装修
  • 上海网站营销免费制作动画网站
  • 360浏览器建设银行网站网站备案成功后怎么
  • 网站seo优化全程记录思维导图毕业设计某网站开发的开题报告范文
  • 建设银行网站网址杭州下城区建设局网站
  • 如何做旅游网站的旅行家化妆品网站的搭建
  • 湖北建设厅政务网站网站建设app开发公司
  • 袜子的网站建设方案中国互联网协会什么级别
  • 海东高端网站建设国外手机网站
  • 河南便宜网站建设价格网站建设需求分析调研
  • 美食网站建设的必要性沧州最新消息
  • 上海域邦建设集团网站wordpress 前端开发
  • 网站开发的关键如何上传wordpress
  • 用vs做网站界面大兴智能网站建设哪家好
  • 免费php企业网站管理系统go搭建网站
  • 建设直播网站需要哪些许可证新闻早知道
  • 手机网站设计案设计平面广告公司
  • c2c网站功能模块设计一般的学校网站怎么做
  • 安徽省建设厅焊工证查询网站wordpress 搜索文章
  • 长沙教育网站开发动画设计师资格证书
  • 网站建设正规公司建站优化办事效率高
  • 网站做一下301跳转广东省建设工程交易中心
  • phpstudy如何搭建网站随州市网站建设公司
  • 高端网站建设 骆诗浙江省旅游企业网站建设情况
  • 上海 餐饮网站建设wordpress后台新建慢