在 django 自带的管理后台中,app name 未设置的情况下默认显示为新建 app 时的英文名,把 英文名 改成 中文名的方法: 1. app 的 目录下新建 apps.py # joyoo\blog...\apps.py from django.apps import AppConfig class BlogConfig(AppConfig): name = 'blog' # 模型名称...verbose_name = "A 博客管理" 2. app 目录下的 _init__.py 增加一行 apps 的配置:default_app_config = 'blog.apps.BlogConfig...重启 django 4. 效果
1、前景 多个git账号或者多个git地址,需要对应不同的ssh证书 2、创建证书 # your email 替换为你的邮箱 # id_rsa_hj 替换为自定义的证书名称 cd ~/.ssh ssh-keygen
在django的开发中,很多时候我们希望app在admin中显示成我们想要的中文名,而不是显示默认的app_label名称。...__ import unicode_literals from django.apps import AppConfig class BlogConfig(AppConfig): name =...'blog' 我们可以在通过设置 verbose_name 字段,来指定app在后台显示的名称。...在导入app时,django会检查每个在INSTALLED_APPS中的app的default_app_config变量,如果没有设置,django会使用基类AppConfig,因此我们只需要在init.py...所在的路径填写 通过以上两步,即可实现自定义app在admin中的显示名称。
Django 从1.4 版本开始,包含了一些安全方面的重要提升。其中一个是使用 PBKDF2 密码加密算法代替了 SHA1 。另外一个特性是你可以添加自己的密码加密方法。...Django 会使用你提供的第一个密码加密方法(在你的 setting.py 文件里要至少有一个方法) 1 2 3 4 5 6 7 8 PASSWORD_HASHERS = ( 'django.contrib.auth.hashers.PBKDF2PasswordHasher...默认生成的密码策略往往会带上 md5_xxx, pbkdf2_xxx,同其他系统整合的时候,一般是没有这些前缀的,这就需要我们自定义一个密码策略。...下面介绍下如何定义一个简单的 md5(md5(password, salt)) 密码策略。...及auth模块都会采用自定义的md5算法。
# 环境 1. python: 3.6.8 2. django==1.11.22 # app 目录下新建一个 apps.py,添加内容:(我的目录结构多了一层 apps) from django.apps...import AppConfig class BlogConfig(AppConfig): name = 'apps.blog' verbose_name = "博客管理" # 我的目录结构...:(我的目录结构多了一层 apps) # django 2.x 可能需要在 app 下的 __init__.py 添加:(我的目录结构多了一层 apps) default_app_config = "
最近在培训压测平台中,因为需要使用到消息队列,考虑到很多同学的电脑windows不支持很多开源消息队列的原因,加上复杂繁重的那些中间件大家部署安装总是出错。...【原理】:原理很简单,借助django的orm技术,在数据库中新建持久消息表,结合算法成为先进先出的栈。...【使用流程】: (一:初始化) 首先要下载:pip3 install django-task-mq 然后先打开你的django项目目录,找到你的app目录,在app目录内,新建一个任意名称的.py文件...,第一个DB_django_task_mq为上一步中自动创建的消息表本体,你需要自行导入,如from MyApp.models import * 。...message为字典类型的数据存储,你可以任意往里面写内容。 之后,当这个函数被调用,就会在消息表中新增一条消息记录。
Flask与Django对比: Django功能大而全,Flask只包含基本的配置 Django的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。...django之一在于其路由的实现是由装饰器完成的。...next=%2F #/user/jack 自定义URL规则 扩展自己的自定义URL规则需要继承BaseConverter,重写to_url方法。...(flash) Flask 的闪现系统提供了一个良好的反馈方式。...(message='wd') # 设置消息 return redirect(url_for('index')) else: flash(
不带参数的装饰器 from functools import wraps def object_does_not_exist(func): @wraps(func) def...object_does_not_exist def detail(request): """ 用法 """ pass 123456789101112131415161718 带参数的装饰器...redirect="/") def detail(request): pass # 记得加个闭合括号,否则会出现类似 takes exactly 1 argument (0 given) 的错误
Django已经提供了开箱即用的认证系统,但是可能并不满足我们的个性化需求。自定义认证系统需要知道哪些地方可以扩展,哪些地方可以替换。本文就来介绍自定义Django认证系统的相关技术细节。...自定义认证后端 AUTHENTICATION_BACKENDS Django默认认证后端为: ['django.contrib.auth.backends.ModelBackend'] 可以在settings.py...中配置AUTHENTICATION_BACKENDS为自定义的认证后端,其本质是Python class,在调用django.contrib.auth.authenticate()时会进行遍历: def...AbstractUser和AbstractBaseUser就是对User的不同程度的抽象,AbstractUser是User的完整实现,可用于扩展User,AbstractBaseUser是高度抽象,可用于完全自定义...唯一标识符是Django认证后端的要求,如果你实现了自定义认证后端,那么也可以用非唯一标识符作为USERNAME_FIELD。
MFC消息机制 MFC是使用一种消息映射机制来处理消息,在应用程序框架中的表现就是一个消息与消息处理函数一一对应的消息映射表,以及消息处理函数的声明和实现等代码。...当窗口接收到消息时,会到消息映射表中查找该消息对应的消息处理函数,然后由消息处理函数进行相应的处理。...SDK编程时需要在窗口过程中一一判断消息值进行相应的处理,相比之下MFC的消息映射机制要方便好用的多。 ?...以窗口消息为例: 如下是消息的动态添操作图,在类向导直接添加,vs会自动在类的头文件和源文件中自动添加。 ?..., rect.bottom); dc.MoveTo(rect.right, 0); dc.LineTo(0, rect.bottom); } 对应的消息ON_WM_MOUSEMOVE void
介绍 本教程可帮助您自定义主机上的服务器名称。通常,出于安全考虑,各公司会修改服务器名称。自定义nginx服务器的名称需要修改源代码。...查找服务器的版本 curl -I http://example.com/ HTTP/1.1 200 OK Server: nginx/1.5.6 # 的配置文件,也请添加该行。 http { ... server_tokens off; .......GMT Connection: keep-alive ETag: "51f18c6e-264" Accept-Ranges: bytes 如果您对Nginx感兴趣,腾讯云实验室提供搭建Nginx静态网站的相关教程和
安装flask pip install flask *** #新建一个项目 #然后导入 from flask import Flask #指定app名称 app=(__name__)...,redirect 和django一样,不过是reverse换成了url_for了,url_for 直接指向需要的url函数名就好了 *** return redirect(url_for(‘python...,直接传递,然后在模板文件中用模板语言调用即可 模板中可以一样的用到切片操作,很方便 语法都是和python语法一样的,非常的友好 *** 过滤器也是和django的一样的 | 后面接着过滤器名称就好...{{a}}| supper *** 如果在使用flash闪现消息的时候出现了runtimeerror错误可以是应为没加secret_key,加上就好了,就可以正常的使用flash了 这个是给flash...消息加密用的 如果出现了unicodedeodeerror错误就是assic编码的问题,flash消息字符串前面加u就可以解决了 *** app.config[‘SECRET_KEY’]=’123456
前言 Django后台列表的自定义过滤条件显示,记录太多。只显示有用的信息。 自定义管理模型类 比如端口信息有很多,只显示存在线主机开放的端口信息。...return host_count[0]['num_hosts'] else: return 0 # 过滤, 只打印存在开放主机的端口列表...queryset = queryset.annotate(num_hosts=Count('s_port')).filter(num_hosts__gt=0) # 过滤出 num_hosts 大于 0 的记录...list_filter = ['project', OpenPortsFilter] #搜索字段 search_fields = ['ip_address'] #自定义动作
在web应用程序中,通常需要在处理表单或其他类型的用户输入之后向用户显示一次性通知消息(也称为“flash message”)。...上下文处理器还提供了DEFAULT_MESSAGE_LEVELS变量,该变量是消息级别名称与其数值的映射: {% if messages %} {%...标记:由空格分隔的所有消息标记(extra_tags和level_tag)组合而成的字符串。 extra_tags:一个字符串,包含此消息的自定义标记,用空格分隔。默认为空。...默认情况下,它是相关常量名称的小写版本,但如果需要,可以通过使用MESSAGE_TAGS设置来更改。...如果要创建可重用的应用程序,建议只使用内置的消息级别,而不依赖任何自定义级别。
第一步 在以上的文件里面写你想要展示的中文 第二部 将那个方法在init文件里面导入,重新启动项目就可以了
最近项目中遇到一个需求,在Django的model中主键要带有前缀的递增类型主键,比如:exp-1, exp-2…,类似.这样,而且在所有的model中,主键里面递增的数据要唯一,不能有重复。...在网上找了一圈没有找到特别好的实现方法,自己写了一个,在这里做个记录。...我采用的方法其实也很简单: 创建一个单独的model,里面只有一个models.AutoField类型的字段,可以确保主键中递增的数字是全局唯一的 在实际业务model中定义一个models.CharFiled...类型的主键 修改save方法,为业务模型的主键加上前缀 下面是示例代码,可以参考 from django.db import models class AutoIncrementFields(models.Model
,设置统一标准的消息格式和自定义超时时间的范围。...)); }}定义回调函数自定义Callback 注解,定义延时消息回调注解, 将回调类添加改注解 {@link Callback},注入到 Spring Ioc 容器。...该方法使用了 Google Guava 库中的 ThreadFactoryBuilder 来创建一个带有自定义线程名称的线程工厂。线程池配置:确保你在配置文件中设置了适当的值,以满足你应用的需求。...注入,实现自定义TimeoutCallback接口。...根据回调接口,对自定义的回调方法做超时处理。当发生业务流程发生超时,使用自定义的回调函数,对超时的问题进行处理。
原来用的是 itchat 库,想向好友发送消息只能通过 UserName 这个关键词来发送,但是这个 UserName 每次重新登录后都是变的,根本没法定位到指定好友,一般好友的备注或微信名是 NickName...解决办法: 后来我发现了 wxpy 这个库,它可以通过搜索关键词找到对应的好友,所有的困难直接迎刃而解了。 wxpy 库安装直接 pip install wxpy 就好了。 #!
在之前的文章中,面试题:unittest加载测试用例名称必须以test开头,是否可以定制化 一文中,讲解了如何去修改测试用例的名称,当时的做法呢,是直接在源码中修改,但是每次去源码中修改...即可,我们需要的config的代码其实很简单,如下 testname="leizi" 就是我们改下测试用例的名称。那么我们接下来看下我们怎么去改造 defaultTestLoader。...会使用到这个地方,这是是获取测试用例名称的。这里我们修改完毕后, ? 去加载测试用例的时候,也需要修改,修改完毕后,我们可以去写以一个方式去测试下。 ?...print("test test") self.assertFalse(False) if __name__=="__main__": main() 这里的我们的方法都是按照新定义后的方法去写的...---- 这篇文章其实是之前文章的升级,但是由于,之前考虑的不足,导致了代码有一定的局限性,在本次修改后,可能暂时是满足了,但是如果还需要定制的时候,我们尽量不要直接改写类库的代码,而是在代码在外面进程封装改动后使用
需求 在Web应用程序中,有时候需要在处理表单或其他类型的用户输入后向用户显示一次性通知消息(也称为“flash消息”),例如:用户注册成功、订单提交完成等信息。...为此,Django为匿名和经过身份验证的用户提供对基于cookie和session存储数据的消息传递框架。该消息框架允许将消息临时存储在一个请求中并检索它们以便在后续请求(通常是下一个请求)中显示。...这个消息框架的数据传递方式基本就是我上一篇Django 2.1.7 redirect重定向数据传输的问题 中使用session的参数传递方式。...'django.contrib.messages', # django 内置的消息传递应用 ) 中间件MIDDLEWARE需要包含 'django.contrib.sessions.middleware.SessionMiddleware...上下文处理器还提供了一个DEFAULT_MESSAGE_LEVELS变量,它是消息级别名称到其数值的映射: {% if messages %} {%
领取专属 10元无门槛券
手把手带您无忧上云