首页 > 其他分享 >基于djangoadmin开发,如何新用户自动创建token

基于djangoadmin开发,如何新用户自动创建token

时间:2024-01-26 11:55:05浏览次数:24  
标签:admin 创建 YourModel token djangoadmin 32 import secrets

可以使用Python的secrets模块来生成一个包含大写字母和数字的32位token。以下是一个简单的例子:

import secrets
import string

def generate_token():
    alphabet = string.ascii_uppercase + string.digits
    token = ''.join(secrets.choice(alphabet) for _ in range(32))
    return token

在上面的代码中,secrets.choice(alphabet)用于从包含大写字母和数字的alphabet字符串中随机选择一个字符,然后通过循环生成32位的token。你可以将这个函数用于你的Django模型:

from django.db import models

class YourModel(models.Model):
    token = models.CharField(verbose_name="TOKEN", max_length=32, default=generate_token)

这样,每当你创建一个新的YourModel实例时,都会自动生成一个32位的包含大写字母和数字的token。

同时在admin.py中注册后可显示出来,token只能自动生成,不能手工修改,则需要把对应的项设置为禁止编辑,简单的方法如下,使用readonly_fields

# admin.py
from django.contrib import admin
from .models import YourModel

class YourModelAdmin(admin.ModelAdmin):
    readonly_fields = ('your_field_name',)  # 在这里添加你想禁止修改的字段名称

admin.site.register(YourModel, YourModelAdmin)

这样,your_field_name 将会在编辑页面中显示为只读字段,无法进行编辑。

标签:admin,创建,YourModel,token,djangoadmin,32,import,secrets
From: https://www.cnblogs.com/superip/p/17989028

相关文章

  • 使用Spring Data JPA实现审计功能,记录创建人、创建时间、最后修改时间和最后修改人
    目录前言近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。本项目为前后端分离开发,后端基于Java21和SpringBoot3开发,后端使用SpringSecurity、JWT、SpringDataJP......
  • 创建ROS工作空间
    创建ROS工作空间 mkdir-p~/catkin_ws/srccd~/catkin_ws/catkin_make bim@bim-Vostro-7570:~/catkin_ws$bim@bim-Vostro-7570:~/catkin_ws$catkin_makeBasepath:/home/bim/catkin_wsSourcespace:/home/bim/catkin_ws/srcBuildspace:/home/bim/catkin_ws/bu......
  • djangoadmin如何实现用户注册或新增后自动分配到某个组
    默认后台设置多个组,当后台新增或通过前台注册新用户后,自动分配到普通用户组以获取对应的权限,方便管理。大概意思就是这样:要实现在DjangoAdmin开发中,将新增用户或新注册的用户自动分配到某个组中,可以使用信号(signal)来完成。在对应的app下新建一个文件如signal.py:fromdjango......
  • 2024年1月Java项目开发指南10:vite+Vue3项目创建
    新建项目安装routernpminstallvue-router在src下新建目录router,在目录下新建index.js在index.js里面配置路由import{createRouter,createWebHistory}from'vue-router';//定义路由constroutes=[//在这里配置路由];//创建路由实例constrouter=......
  • Cookie、Session 和 Token 有什么区别?
    Cookie、Session和Token通常都是用来保存用户登录信息的技术,但三者有很大的区别,简单来说Cookie适用于简单的状态管理,Session适用于需要保护用户敏感信息的场景,而Token适用于状态无关的身份验证和授权。具体来说,Cookie、Session和Token的区别主要有以下几点区别:存储......
  • DOCKER 镜像创建
    DOCKER镜像创建 基于现有镜像创建 #创建个新的容器 #进入创建的容器里,下载epel源 #再下载个nginx #启动nginx #配置测试文件 #创建个新的镜像 #没有起来,基于本地的容器创建的镜像所创建的容器没有启动命令,要加上启动命令#根据新镜像创建个容器 #进......
  • 初始 abp 开源框架-通过CMD命令创建项目--到果断放弃ABP
    打开官网:https://abp.io/get-started选则如下配置  根据黑色框内指令,创建项目 指令1dotnettoolinstall-gVolo.Abp.Cli指令2abpnewAcme.BookStore--tiered-csf 放弃理由:  ......
  • GPTs创建及action使用
    一、新建GPTsNewGPT:https://chat.openai.com/gpts/editor二、创建GPT的选项1、Create进入创建GPT页面,在CreateTab下,点击左下角曲别针符号,可以向GPT上传知识库文档。GPT可以根据这些文档进行回答。2、Configure2.1、Action创建Action官方文档Actions与Plugins类似,不......
  • 获取AccessToken
    百度AI开放平台通用鉴权认证机制一、获取APIKey/SecretKey关键信息主要为AppID、APIKey、SecretKey注:更新SecretKey后历史生成的Access_token将立即失效二、获取Access_tokenhttps://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQR......
  • git创建SSH keys
    git出现Pleasemakesureyouhavethecorrectaccessrightsandtherepositoryexists,需要创建SSHkeys。步骤:1、打开Git.bash进行命令行界面输入代码如下: gitconfig--globaluser.name"YourName"#配置user.namegitconfig--globaluser.email"your_email@exa......