django登录
一. form表单使用注意事项:
1. action="" 提交地址, method='post' 请求方式
2. input 标签要有name属性才能被获取
3. 有一个input的类型是submit 或者button 用于提交表单数据
tip: 注释掉settings.py中 MIDDLEWARE(中间件)的 'django.middleware.csfr.CsrfViewMiddleware'就可以提交post请求(暂时) GET 和POST的区别:
1.GET 获取一个页面
login/?user=alex&pwd=alex //信息暴露
在Django中获取数据
request.GET {} // 一个对象
request.GET['user'] ,获取标签中name是user的值
request.GET.get('user')
2.POST 提交数据
数据不显示在url中, 存放在请求体
在Django中获取数据
request.POST {}
request.POST['user']
request.POST.get('user') 二. APP: 项目 相当于老男孩里面分 python学院---(appPython), linux 学院---(applinu.),
创建APP: 1. 命令 python manage.py startapp app名称
2. pycharm
tools----run manage.py task
输入指令: startapp app名称 注册app:
[INSTALLED_APPS] 列表中添加
'app01'
建议写全: 'app01.apps.App01Config' ORM介绍和使用:
1. 使用mysql数据库
1. 创建mysql数据库 # create database 数据库名称
2. 在 settings.py中配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎 mysql
'NAME': 'day58', # 数据库名称 day58
'HOST': '127.0.0.1', # 数据库ip地址
'PORT': 3306, # 数据库端口号
'USER': 'root', # 数据库登录用户名
'PASSWORD': '', # 数据库登录密码
}
}
a django默认支持sqlite,mysql, oracle,postgresql数据库。
<1> sqlite
django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 。
引擎名称:django.db.backends.sqlite3
<2> mysql
引擎名称:django.db.backends.mysql b mysql驱动程序
MySQLdb(mysql python)
mysqlclient
MySQL
PyMySQL(纯python的mysql驱动程序)
(pychart连接数据库, 须下载驱动程序,有提示) 3. Django默认使用python 2版本的数据库支持模块, 需要告知它使用pymysql模块连接
在与settings.py同级目录下的__init__.py中写下面的代码
import pymysql
pymsql.install_as_MySQLdb() 4. 在APP目录下的models.py中写类(models.Model) # 定义数据库表
class User(models.Model) # 继承
name = models.CharField(max_length=32)
pwd = models.CharField(max_length=32) 5. 在数据库生产表: 执行命令
python manage.py makemigrations # 生成py文件,准备创建数据库表
python manage.py migrate # 执行数据库语句, 生成实际的表 2. orm 的操作:
1.all 获取所有的数据 # 结果是个对象列表
models.User.objects.all() ——》 对象列表 2. get 获取一条数据库(没有或者是存在多条报错)
models.USer.objects.get(field=要查询的值) ---->>>对象 # get里面放关键字 3. filter 获取满足条件的所有的对象
models.User.objects.fileter(field1='alex', field2='alex') ----->>对象列表 # 逗号表示&与条件 4. odels.User.objects.field field字段的值
odels.User.objects.name # name字段的值
odels.User.objects.pwd # pwd字段的值
odels.User.objects.id (pk) # id ,主键
django登录的更多相关文章
- 简单的django登录项目---带views视图函数(脚本文件)---用Bootstrap
简单的django登录项目 1.首先建立工程,建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html 2.在Firstdjango工程项目 ...
- Django登录访问限制 login_requeired
作用: 1. 用户登录之后才可以访问某些页面 2. 如果没登录,跳转到登录页面 3. 用户在跳转的登陆界面中完成登陆后,自动访问跳转到之前访问的地址 要实现这个需求很简单就是在相应的view前面使用装 ...
- 基于控制权限和登录验证跳转的django登录界面的实现
django框架提供了出去登录和退出系统的login和logout的视图函数,本实现中使用系统自带的是视图函数.需要在settings.py,urls.py,views.py和模板文件等几个方面进行考 ...
- Django登录与注销
一:Django中自带着登录,验证功能不用自己再去写登录功能. 1.从相应模块导入组件功能 from django.contrib.auth import authenticate,login 2.从 ...
- django登录逻辑
django-restframework中已经实现了登录逻辑,只需要安装配置就可以使用 pip install djangorestframework-jwt REST_FRAMEWORK = { ' ...
- Django 登录验证-自动重定向到登录页
Web项目有些场景需要做用户登录验证,以便访问不同页面. 方法一:login_required装饰器 适用于函数视图. from django.contrib.auth.decorators impo ...
- 自定django登录跳转限制
django自定义一个登录跳转限制: 解释: 不登录不让跳转到其它页面. 原理: 做一个装饰器,在访问路由时,先进行判断,登录session是否存在,如果存在则跳转,不存在则返回到登录页面.或者你可以 ...
- django登录功能(简单在POST请求)
第一 先在templates中创立index.html !DOCTYPE html> <head> <meta charset="UTF-8"> & ...
- Python - Django - 登录页面
登录页 login.html: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta char ...
随机推荐
- ThreadPoolExecutor解析
前言:在最新的阿里规范中强制使用ThreadPoolExecutor方式创建线程池,不允许使用Executors,因此有必要对ThreadPoolExecutor进行进一步了解. 1.ThreadPo ...
- day12-内置模块学习(三)
我的博客呀,从以前的预习变成了复习了,复习的东西还没有写完,哎 今日目录 1.序列化模块 2.加密模块 3.包的使用 4.random模块 5.shutil模块 开始今日份总结 1.序列化模块 在学习 ...
- 通过supper()有参构造器,完成子类对象调用父类属性的方法,并完成赋值
package com.Summer_0426.cn; /** * @author Summer * 通过supper()有参构造器,完成子类对象调用父类属性的方法,并完成赋值 * */ public ...
- 在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合
在开发项目的时候,往往碰到的不同的需求情况,兼容不同类型的数据库是我们项目以不变应万变的举措之一,在底层能够兼容多种数据库会使得我们开发不同类型的项目得心应手,如果配合快速的框架支持,那更是锦上添花的 ...
- Codeforces Round #546 (Div. 2)-D - Nastya Is Buying Lunch
这道题,神仙贪心题... 题意就是我给出数的顺序,并给出多个交换,每个只能用于相邻交换,问最后一个元素,最多能往前交换多少步. 我们考虑这样一个问题,如果一个这数和a[n]发生交换,那么这个数作为后面 ...
- c++学习之初话 函数指针和函数对象 的因缘
函数指针可以方便我们调用函数,但采用函数对象,更能体现c++面向对象的程序特性. 函数对象的本质:()运算符的重载.我们通过一段代码来感受函数指针和函数对象的使用: int AddFunc(int a ...
- 虚拟机系统安装Messenger和Server
YCD对支持虚拟机运行Messenger和Server, 不论用哪种虚拟机安装, 请保证: 确认DirectX和Direct 3D组件已经开启 为虚拟机分配显卡计算资源 如果不满足以上条件, 虚拟机上 ...
- JS中的块级作用域,var、let、const三者的区别
1. 块作用域{ } <script type="text/javascript"> { var a = 1; console.log(a); // 1 } conso ...
- Python进阶2---树的遍历和堆排序
二叉树的遍历 堆排序Heap Sort 堆排序的过程 完整过程: #打印完整的二叉树 import math #打印完全二叉树,此函数非必要只是为了显示便利! def print_tree(lst): ...
- MyBatis基础:MyBatis缓存(5)
1. MyBatis缓存简介 MyBatis提供支持一级缓存及二级缓存. 一级缓存: 2.MyBatis一级缓存