在学习注册用户的过程中,视图中下面的代码 from django.contrib.auth.views import login 启动django服务时,报错: ImportError: cannot import name 'login' from 'django.contrib.auth.views' 改为 from django.contrib.auth import login django服务启动正常,但在点击login链接时又出现如下错误 TypeError at /users/lo…
一.Django的用户认证组件 用户认证 auth模块 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查询数据库,看用户输入的用户名是否存在于数据库中: 如果用户存在于数据库中,然后再验证用户输入的密码,这样一来就要自己编写大量的代码. 事实上,Django已经提供了内置的用户认证功能. 在使用"python manage.py makemigrationss"和"python manage.py migrate"迁移完成数据库之后 根据配置文件settin…
Django基础知识 一. 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回. 如果要动态生成HTML,就需要把上述步骤自己来实现.不…
一.django进阶 1.django orm 增删改查 1.1.创建表: 1 2 3 >>> from blog.models import Blog >>> b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.') >>> b.save() This performs an INSERT SQL statement behind the scenes. Django…
Django Admin笔者使用下来可以说是Django框架的开发利器,业务model构建完成后,我们就能快速的构建一个增删查改的后台管理框架.对于大量的企业管理业务开发来说,可以快速的构建一个可发布的基本的原型,也可以直接通过后台管理快速开发基本的管理系统,提高产品迭代的效率和开发周期.现在就让我们开始配置程序,来掀开admin的庐山真面目! 1.1. 修改程序调试默认端口 笔者在这里为了避免与其它程序的默认端口冲突,我们把工程的默认端口改成8001,这样可以减少调试过程中遇到端口冲突时初学者…
一 导入auth模块 from django.contrib.auth.models import User from django.contrib import auth auth模块的操作针对的就是auth_user表 二 auth模块的方法 1 authenticate() 用户验证函数.验证成功,返回一个名称为用户登录名的User对象,这个对象可以调用auth_user表中的属性.验证失败,返回None. def login(request): if request.method=='P…
一.介绍 基本上在任何网站上,都无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能. 使用Django,我们可以不需要自己写这些功能,因为Django内置了强大的用户认证系统--auth,它默认使用 auth_user 表来存储用户数据. from django.contrib import auth 注意:命令行创建超级用户 python manage.py createsuperuser 二.authenticate() 提供了用户认…
Django自带的用户认证 auth模块 from django.contrib import auth 备注:使用auth模块时,我们默认使用Django提供的auth_user表,创建数据时,可以使用命令行来创建超级用户: 命令行:在项目的根目录下输入:python manage.py createsuperuser   回车提示输入用户名:输入用户名后,回车,输入邮箱地址,可以不填,继续回车,输入密码:输入密码时,密码必须是数字和字母组成,并且不能少于八位,否则会报错,其他的信息可以不填.…
目前在用nginx+gunicorn对django进行部署 当我用gunicorn -w 4 -b 127.0.0.1:8080 myproject.wsig:application启动django时访问主页却发现所有static文件夹下的静态文件都找不到,部分如下: Not Found: /static/js/app.min.js Not Found: /static/js/custom.js Not Found: /static/img/user1.jpg Not Found: /stati…
目录 auth模块 一.什么是author模块 二.auth模块的使用 1.创建超级用户(create_superuser()) 2.验证用户(authenticate()) 3.登录用户(login()) 4.登录成功 5.注销(logout()) 6.登录认证装饰器 7.创建普通用户(create_user()) 8.校验密码(check_password()) 9.修改密码(set_password()) 10.is_authenticated() 11.删除用户 12.User对象的其他…
前言 Django为我们提供了内置的User模型,不需要我们再额外定义用户模型,建立用户体系了.它的完整的路径是在django.contrib.auth.models.User. User模型源码分析 class User(AbstractUser): """ Django 身份验证系统中的用户由该模型表示 需要用户名和密码.其他字段是可选的. """ class Meta(AbstractUser.Meta): swappable = 'AUT…
Django基础八之认证模块---auth 目录 Django基础八之认证模块---auth 1. auth介绍 2. autho常用操作 2.1 创建用户 2.2 验证用户 2.3 验证用户是否登录 2.4 已验证的用户想附加到当前会话 2.5 快捷增加登录校验装饰器 2.6 退出登录 2.7 检查密码 2.8 修改密码 2.9. 示例:利用auth模块搭建登录才能访问和有退出功能的页面 2.10 User对象的is_staff和is_active 3. 扩展默认的auth_user表 3.1…
Django 常用模块导入记忆 django相关 1. urls相关操作 from django.urls import path, re_path, include from django.urls import reverse // 注意reverse 和另一个reversed区别.前者要明确导入,后者是built-in内置不用导入:两者功能也不一. 2. HttpResponse生成 from django.shortcuts import render, Httpresponse, re…
用户认证 auth模块 1 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.1 .authenticate()    提供了用户认证,即验证用户名以及密码是否正确,一般需要username  password两个关键字参数 如果认证信息有效,会返回一个  User  对象.authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的…
个人网站: lipeiguan.top 以后会慢慢转移到个人网站, 欢迎大家收藏^ . ^ 写在前面 我们在开发一个网站的时候, 经常需要实现网站的用户系统. 这个时候我们需要实现用户注册.用户登录.用户认证.注销.修改密码等一系列功能. 如果我们都是自己实现的话, 不是不可以, 只是有些浪费时间. 而Django则内置了一个用户认证系统 --> auth, 它默认使用 auth_user表来储存用户的数据. 那么接下来就来了解一下这个强大的用户认证系统. auth模块 导入auth 要使用这个…
一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个. 1 .authenticate()    验证用户输入的用户名和密码是否相同 提供了用户认证,即验证用户名以及密码是否正确,一般需要username  password两个关键字参数 如果认证信息有效,会返回一个  User  对象.authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后…
1.直接传值 urls.py """mysite URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.10/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import…
内容目录 路由系统 模版 Ajax model数据库操作,ORM 路由系统 django中的路由系统和其他语言的框架有所不同,在django中每一个请求的url都要有一条路由映射,这样才能将请求交给对一个的view中的函数去处理.其他大部分的Web框架则是对一类的url请求做一条路由映射,从而是路由系统变得简洁. 1.每个路由规则对应一个view中的函数 url(r'^index/', views.index), url(r'^login/', views.login), 当我们的页面有很多比如…
什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回. 如果要动态生成HTML,就需要把上述步骤自己来实现.不过,接受HTTP请求.解析H…
Django进阶之Model操作复习 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 u…
准备 自己写一个简单的webServer import socket # 生成socket实例对象 sk = socket.socket() # 绑定IP和端口 sk.bind(("127.0.0.1", 8001)) # 监听 sk.listen() # 写一个死循环,一直等待客户端来连我 while 1: conn, _ = sk.accept() data = conn.recv(8096) data_str = str(data, encoding="utf-8&qu…
一 路由系统 URL 1 url(r'^index/',views.index) url(r'^home/', views.Home.as_view()) 2 url(r'^detail-(\d+).html',views.detail),#动态路由 views.py def detail(request,nid) url(r'^detail-(\d+)_(\d+).html',views.detail),#动态路由 def detail(request,nid,uid) 3 url(r'^de…
昨日内容回顾 1. Serializer(序列化) 1. ORM对应的query_set和ORM对象转换成JSON格式的数据 1. 在序列化类中定义自定义的字段:SerializerMethodField 在类中定义 get_自定义字段名(self, obj)方法 2. read_only 只在显示(查询)时才会有效. 2. 对前端POST过来的数据做有效性的校验 1. 一定要将数据以data=的形式传递到序列化类中!!! ser_obj = CommentSerializer(data=com…
一.Django组件-forms组件 forms组件 django中的Form组件有以下几个功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 校验字段功能 之前写的视图函数,提交的数据,没有做校验,就添加到数据库里面了.这样是不对的! 比如:用户名,必须要符合一定的长度.密码复杂度,等等. forms组件最大的作用,就是做数据校验. 普通做法,一个一个写校验规则,没有解耦.校验规则,都在视图函数里面. 新建项目formDemo 修…
昨日内容回顾 1 json 轻量级的数据交换格式 在python 序列化方法:json.dumps() 反序列化方法:json.loads() 在JS中: 序列化方法:JSON.stringfy() 反序列化方法:JSON.parse() 2 ajax $.ajax({ url:"", type:"", data:{}, // 默认contentType="urlencoded" success:function(data){ } }) 一.Dj…
昨日内容回顾 基于对象的跨表查询 正向查询:关联属性在A表中,所以A对象找关联B表数据,正向查询 反向查询:关联属性在A表中,所以B对象找A对象,反向查询 一对多: 按字段:xx book ------------------ > publish <-------------------- 按表名小写__字段名.比如publish__name 多对多: 正 按字段:xx book ------------------------- > author <---------------…
昨日内容回顾 多表方案: 如何确定表关系呢? 表关系是在2张表之间建立的,没有超过2个表的情况. 那么相互之间有2条关系线,先来判断一对多的关系. 如果其中一张表的记录能够对应另外一张表的多条记录,那么关系线成立! 如果只有一条线成立,那么就是一对多的关系. 如果有2条线成立,那么就是多对多的关系. 比如book和publish.一本书不能对应多个出版社(常规是这样的,否则就盗版了),那么不成立. 一个出版社可以对应多本书,关系线成立.所以book和publish表的关系是一对多的关系 多对多的…
昨日内容回顾 相关命令: 1 创建项目 django-admin startproject 项目名称 2 创建应用 python manage.py startapp app名称 3 启动项目 python manage.py runserver IP PORT 步骤1,2都是下载过程,下载一些需要的代码.不写IP和端口,默认是8000端口 请求流程: 1 url:http://127.0.0.1:8000/index/ 2 path("index",views.index) # in…
昨日内容回顾 1 MVC和MTV MTV 路由控制层(分发哪一个路径由哪一个视图函数处理) V : views (逻辑处理) T : templates (存放html文件) M : model (与数据库打交道) 2 创建项目: django-admin startproject mysite mysite manage.py : 启动文件 交互文件 mysite settings.py :配置文件 urls.py :路由控制层(分发哪一个路径由哪一个视图函数处理) wsgi.py :sock…
昨日内容回顾 1. socket创建服务器 2. http协议: 请求协议 请求首行 请求方式 url?a=1&b=2 协议 请求头 key:value 请求体 a=1&b=2(只有post请求才有请求体) 响应协议 响应首行 协议 状态码 文本 响应头 key:value 响应体 html字符串 3. wsgiref模块(基于wsgi协议) 功能: 1. 按着http协议请求格式解析请求数据----envision:{} 2. 按着http协议响应格式封装响应数据----response…