用户注册模块创建用户(头条项目-04)

1 创建⽤户模块⼦应⽤

1.1 在项⽬包⽬录下 创建apps的python包

1.2 在apps包下 创建应⽤userapp

$ cd 项⽬包⽬录/apps
$ python ../../manage.py startapp userapp

1.3 配置导包路径 默认情况下导包路径指向项⽬根⽬录

# 通过下⾯语句可以打印当前导包路径
print(sys.path)
# 在dev.py⽂件中配置导包路径
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

1.4 注册⼦应⽤

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'userapp',
]

2. 实现展示⽤户注册⻚⾯功能

2.1 在项⽬包⽬录 /templates下 创建基础模板⽂件

2.2 在项⽬包⽬录/templates下 创建userapp⽂件夹

2.3 将 register.html 存放⾄ 项⽬包⽬录/templates/userapp⽬录 

register: 注册

2.4 创建注册视图

class Register(View):
    def get(self,request):
        return render(request,'userapp/register.html')

2.5 定义 ⽤户注册路由

# 项⽬根路由
from django.contrib import admin
from django.urls import path, re_path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path('^', include(('userapp.urls', 'userapp',), namespace='userapp'
                         )),
]
# ⽤户模块⼦路由
from django.urls import re_path
from . import views

urlpatterns = [
    re_path('^register/$', views.Register.as_view(), name='register'),
]

3 Django默认⽤户认证系统

  • Django⾃带⽤户认证系统
    • 它处理 ⽤户账号、组、权限以及基于cookie的⽤户会话
  • Django认证系统位置
    • django.contrib.auth包含 认证框架的核⼼和默认的模型
    • django.contrib.contenttypes是 Django内容类型系统,它允许权限与你创建的模型关联
  • Django认证系统同时处理 认证和授权
    • 认证:验证⼀个⽤户是否它声称的那个⼈,可⽤于账号登录。
    • 授权:授权决定⼀个通过了认证的⽤户被允许做什么。
  • Django认证系统包含的内容
    • ⽤户⽤户模型类、⽤户认证
    • 权限标识⼀个⽤户是否可以做⼀个特定的任务,MIS系统常⽤到
    • :对多个具有相同权限的⽤户进⾏统⼀管理,MIS系统常⽤到。
    • 密码:⼀个可配置的密码哈希系统,设置密码、密码校验。

3.1 Django默认⽤户模型类

  • Django认证系统中提供了⽤户模型类,User保存⽤户的数据
    • User对象是认证系统的核⼼。
  • Django认证系统⽤户模型类位置
    • django.contrib.auth.models.User
class User(AbstractUser):
    """
    Users within the Django authentication system are represented
    by this
    model.
    Username and password are required. Other fields are optional.
    """
    class Meta(AbstractUser.Meta):
        swappable = 'AUTH_USER_MODEL'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值