、修改、删除内容,开发这些重复的功能是一件单调乏味、缺乏创造力的工作。...为此,Django会根据定义的模型类完全自动地生成管理模块 使用django的管理 创建一个管理员用户 python manage.py createsuperuser,按提示输入用户名、邮箱、密码 启动服务器...,通过“127.0.0.1:8000/admin”访问,输入上面创建的用户名、密码完成登录 进入管理站点,默认可以对groups、users进行管理 管理界面本地化 编辑settings.py文件,设置编码...BookInfo的数据进行增删改查操作 问题:如果在str方法中返回中文,在修改和添加时会报ascii的错误 解决:在str()方法中,将字符串末尾添加“.encode('utf-8')” 自定义管理页面...class HeroInfoInline(admin.TabularInline) 布尔值的显示 发布性别的显示不是一个直观的结果,可以使用方法进行封装 def gender(self): if
model 属性,它的值对应的是 auth.User,因此无法用于我们自定义的 User 模型。...UserCreationForm 中只指定了 fields = ("username",),即用户名,此外还有两个字段密码和确认密码在 UserCreationForm 的属性中指定。...= Form() # 渲染模板 # 如果不是 POST 请求,则渲染的是一个空的表单 # 如果用户通过表单提交数据,但是数据验证不合法,则渲染的是一个带有错误信息的表单...浏览器输入 http://127.0.0.1:8000/admin/,登录管理员账户,可以查看到注册的用户信息了,比如在我的后台可以看到三个用户: image.png 其中有一个是使用 createsuperuser...命令创建的管理员账户,另外两个是注册的新用户。
watch不是必须的,等到做编辑用例和用例运行结果的时候,会更加体会到它的作用。 新增用户时,会对用户名和密码做校验: ?...查询右上角个人信息,包括用户名、昵称、角色。 通过右上角下拉菜单修改密码,和老密码不匹配会提示修改失败,填写正确信息会修改成功,自动跳转到登录页面重新登录。输入老密码登录失败,输入新密码登录成功。...修改用户,修改用户名、密码,修改测试角色用户为管理员角色,重新登录,能看到用户名、密码已更新为修改后的用户名、密码,并且管理员角色生效,能登进去看到后台管理功能。...后端代码完全是我自己写的,先学了一遍Django和Django REST framework官方教程,其中《Django认证系统并不鸡肋反而很重要》这篇文章在腾讯云+社区2020年度征文活动中,被评选为了最受喜爱作者奖...,如果对Django认证系统不是很清楚的话,可以看看。
) 发生这个错误的原因是由于我看的教程使用的是1.8版本的Django,而我安装的是3.0,Django在2.0版本后,如果定义外键就需要加上on_delete选项了,OK,接下来,继续运行这两个代码。...使用django站点管理模块步骤: 管理界面本地化 创建管理员 注册模型类 自定义站点管理界面 1、管理界面本地化 将语言,时间设置为本地的语言时间,大陆使用的简体中文,时区使用亚洲/上海时区,修改settings.py...ps:为什么是上海时区,而不是北京时区?...> python3 manage.py createsuperuser 用户名 (leave blank to use 'dora'): test 电子邮件地址: test@test.com Password...运行之后,在浏览器打开 http://127.0.0.1:8000/admin,使用刚才创建的用户名密码登陆。
使用Django的管理模块,需要按照如下步骤操作: 管理界面本地化 创建管理员 注册模型类 自定义管理页面 1、管理界面本地化 本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化,中国大陆地区使用简体中文...' # 使用中国上海时间 2、创建管理员 创建管理员的命令如下,按提示输入用户名、邮箱、密码、确认密码。...点击用户就可以查看管理员用户表,刚刚创建的用户信息就会显示在这。...自定义后台管理界面 在列表页只显示出了 BookInfo object ,对象的其它属性并没有列出来,查看非常不方便。 Django提供了自定义管理页面的功能。 比如列表页要显示哪些值。...注意: 如果不写 verbose_name_plural 属性则模型类 BookInfo 在浏览器界面上的中文后面会多一个 S。
、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块。...使用Django的管理模块,需要按照如下步骤操作: 1.管理界面本地化 2.创建管理员 3.注册模型类 4.自定义管理页面 1.管理界面本地化 本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化...' #使用中国上海时间 2.创建管理员 创建管理员的命令如下,按提示输入用户名、邮箱、密码。...http://127.0.0.1:8000/admin/ 输入前面创建的用户名、密码完成登录。...4.自定义管理页面 在列表页只显示出了ServerInfo object,对象的其它属性并没有列出来,查看非常不方便。 Django提供了自定义管理页面的功能,比如列表页要显示哪些值。
注意上图中booktest_heroinfo表中有一列hbook_id,这一列名为什么不叫hbook? hbook_id是根据HeroInfo类的关系属性hbook生成的,对应着图书表中的主键id。...上去 4.管理站点 使用Django的管理模块,需要按照如下步骤操作: 1.管理界面本地化 2.创建管理员 3.注册模型类 4.自定义管理页面 1.管理界面本地化 本地化是将显示的语言、时间等使用本地的习惯...#使用中国上海时间 2.创建管理员 创建管理员的命令如下,按提示输入用户名、邮箱、密码。...如果启动时出这样的错误,修改端口。 输入前面创建的用户名、密码完成登录。 登录成功后界面如下,但是并没有图书、英雄的管理入口,接下来进行第三步操作。 ?...4.自定义管理页面 在列表页只显示出了BookInfo object,对象的其它属性并没有列出来,查看非常不方便。 Django提供了自定义管理页面的功能,比如列表页要显示哪些值。
Admin站点 内容发布的部分由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块。...使用Django的管理模块,需要按照如下步骤操作: 1.管理界面本地化 2.创建管理员 3.注册模型类 4.自定义管理页面 1.管理界面本地化 本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化...'#使用中国上海时间 2.创建管理员 创建管理员的命令如下,按提示输入用户名、邮箱、密码。...http://127.0.0.1:8000/admin/ 输入前面创建的用户名、密码完成登录。...4.自定义管理页面 在列表页只显示出了ServerInfo object,对象的其它属性并没有列出来,查看非常不方便。Django提供了自定义管理页面的功能,比如列表页要显示哪些值。
Python 安装第三方库的方法很简单,运行命令:pip install (库的名字),在这里也不例外,命令如下所示: pip install Django 安装完成之后如图所示。 ?...创建项目 通过看图,应该可以看出我安装的是 Django3.0.6 的版本,接下来就是新建一个 Django 项目,我直接使用 PyCharm 专业版的可视化操作而不是命令来创建项目,打开 PyCharm...): python manage.py makemigrations personal_website python manage.py migrate 迁移完成之后我们就需要创建一个超级管理员用户,...然后按照提示输入用户名和密码并登录,登录之后的页面如图所示。 ?...富文本编辑器插件有很多,我在这里使用的是 django-ckeditor,想知道我为什么使用这个插件以及如何使用这个插件,我们下回再说。
组件钩子函数 forms 校验最终版 forms 校验源码分析 django 操作 cookie 与 session cookie 工作原理 session 工作原理 如何操作 cookie 服务端常见的...提交按钮需要你手动添加 input 框的 label 注释 不指定的情况下 默认用的是类中 字段的首字母大写 forms 组件其他知识点(服务器端的) 在 python console 测试 类似于django...# 用法:在自定义的form类中书写方法即可 # 局部钩子(针对某一个字段做额外的校验) 校验用户名中不能包含666 一旦包含 提示 class LoginForm(forms.Form):...)来识别并保存用户状态 cookie 和 session 其实是通用技术思想,不同语言都有对应的实现 cookie 工作原理 cookie 就是保存在客户端浏览器上的键值对 工作原理: 当你登录成功之后...session 是保存在服务端的键值对 session 虽然是保存在服务器上的键值对,但是他是依赖于 cookie 工作的(所有的保存用户状态或者各种校验基本都需要依赖于 cookie) 工作原理
Django 用户及权限 #1 环境 Python3.7.3 Django==2.0.7 #2 用户 #2.1 User对象 这里推荐使用 AbstractUser, 而不是User 使用方法 from...else: # 用户名密码不匹配 自定义用户验证 当用户需要邮箱登录时,验证的是邮箱和密码,所以需要自定义用户验证 from django.contrib.auth.backends import...# 一样的效果 >>> user_obj.user_permissions.all() # 为什么是空的???...# 因为之前已经把用户权限全部清空,用户被加到权限组后, # 会拥有权限组的权限,但是并不是自己的权限,在数据库中没有记录,数据库只会记录用户在哪个权限组 如何查看用户是否拥有权限??...() 用户组中所有用户退出组 g_player.user_set.clear() #5 自定义权限 未完待续 !
is_superuser:是否是超级管理员。如果是超级管理员,那么拥有整个网站的所有权限。 last_login:上次登录的时间。 date_joined:账号创建的时间。 ...= models.CharField(max_length=11) # 错误写法 class Meta: proxy = True # proxy正确用法是给模型添加自定义方法...其他常用属性含义如下: is_staff : 用户是否拥有网站的管理权限. ...auth_user表之后,一定要在settings.py中告诉Django,我现在使用我新定义的UserInfo表来做用户认证。...import login_required @login_required def index(request): #关于这个默认的匿名用户,看一下我的django的视图系统的那个博客,有相关介绍
Django是一个流行的Web框架,它提供了一套完整的用户认证系统,其中包括内置的User模型用于存储基本的用户信息,如用户名、密码等。...然而,如果我们需要更详细的用户资料管理,比如添加更多的字段或者自定义验证规则,Django允许我们自定义用户模型。...1、问题背景在 Django 1.5.1 中,我使用自定义用户,就像官方文档中描述的那样。我发现所有内容都存储在一个表中,即 auth_user 表。...我的问题是,为什么最好将所有内容都放在一个大表中,而不是像 1.5 之前那样使用一个 user_profile 表来存储所有附加数据,并使用两个表?...哪些属性对于您的应用程序至关重要?是否需要电子邮件?电子邮件是否还应该是用户登录的用户名?在引入此功能之前,您无法执行这些操作。
一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据...windows用户,以管理员身份打开一个cmd窗口。...POST数据是一个字典 登录认证 正常网站,用户名和密码是保存在数据库中。由于还没有学到django连接数据库,所以这里将用户名和密码写死,模拟登录行为。... print("data",data+'aaaaa') #返回给浏览器并加上一段话 return HttpResponse(data+'用户名和密码错误...如果没有响应,就会报错 在视图函数中,render是渲染的意思。那么它是如何工作的呢?
目录 1 为什么要使用这个 2 form案例 3 form 自定义错误信息 4 form内部原理 5 ajax传值 6 返回数据为json格式 7 验证格式错误 8 自定义正则表达式 9 form 内置字段...2 form案例 使用方法 1 写一个form.py文件 里面就是写对一个表的规则,比如用户登录的规则,对用户名密码的长度进行判断 from django.forms import Form...} return JsonResponse(data) 返回的错误信息是django自己的信息,我们想自定义错误信息 3 form 自定义错误信息 # 定义登录的规则...,键是和其他属性一样,值就是自定义的错误信息 4 form内部原理 5 ajax传值 6 返回数据为json格式 前端ajax进行接收 7 验证格式错误 1 比如要验证前端传过来的是不是数字...默认渲染input框; 我们在自定义admin后台的新增页面,或者修改页面的时候,就可以根据这个属性进行自定义标签形式; 10 widget属性可以定义html哪些插件 10.0 choices的选项可以从数据库中获取
views.py 处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。...forms.py 表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。...创建超级管理员 python manage.py createsuperuser # 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填 # 修改 用户密码可以用: python...为此,Django会根据定义的模型类完全自动地生成管理模块 使用django的管理 创建一个管理员用户 python manage.py createsuperuser,按提示输入用户名、邮箱、密码 启动服务器...BookInfo的数据进行增删改查操作 问题:如果在str方法中返回中文,在修改和添加时会报ascii的错误 解决:在str()方法中,将字符串末尾添加“.encode('utf-8')” 自定义管理页面
一、指定自定义的用户模型 ① Django 自定义的 User model 满足一些最低要求: 模型必须有一个唯一的字段可被用于识别目的。可以是一个用户名、电子邮件或任何其它独特属性。...# 这个属性是用来,以后在命令行中使用createsuperuser命令的时候,会让你输入的字段 # 只用创建超级管理员的时候,就会让你输入 USERNAME_FIELD 指定的字段 # 现在 USERNAME_FIELD...这是一个抽象的类,可以为自定义用户模型中的类的层次结构中包含它。它提供所有 Django 权限类必须的方法和字段。...这个字段不写也会让你输入 REQUIRED_FIELDS = ['username'] # 以后给某个用户发送邮箱的时候,就会使用这个属性指定的字段的值来发送 EMAIL_FIELD...Django 允许通过修改 settings.py 文件中的 AUTH_USER_MODEL 设置覆盖默认的 User 模型,其值引用一个自定义的模型。
这里因为我们要传递用户名/密码 作为数据,所以href属性要写一个js函数,就取名为:register()吧。...但是如果用户表中已存在这个用户名,那么,这个生成语句就会报错。所以我们用try来捕获这个异常,如果发送错误那就是“用户已经存在”,如实给用户返回这句话。如果没问题,那么就返回 注册成功。...现在我们刷新页面来测试,先登陆一个账号: 用户名 测试开发干货 密码123。 1.点击登陆,提示用户名密码错误。...为什么会发生这种事呢? 实际上 账号已经注册成功,我们的登陆函数也走到了登陆成功的分支。 我们明明写好了 要跳转到/home/ ,但是前端没有跳转,还给了个错误提示。...答案是:目前可以直接访问,不信你不登陆试试看,一样可以。那是因我们进入home页面的函数 home() 并没有强制要求 检查登陆状态。 所以django是默认放行的。
models.User User模型是Django认证系统的核心,它的主要属性包括: id username email password is_active is_superuser last_login...()函数对用户进行认证: authenticate(request=None, **credentials) credentials是用户凭证,如用户名、密码。...只会简单比较请求的用户名密码和数据库中的用户名密码是否匹配。...我点开了源码,发现除了Django的认证后端,DRF已经封装了Session、Token、JWT的认证: image.png 权限管理 权限一般分为add、change、delete、view,也就是增删改查...Django把Web请求封装成了request(HttpRequest类),然后通过中间件设置了session相关的属性:request.session、request.site、request.user
领取专属 10元无门槛券
手把手带您无忧上云