【初识Django 2】

1.视图请求

1.1什么是视图请求
视图函数一般用来接收一个Web请求HttpRequest,之后返回一个Web响应HttpResponse
也可以这样理解:所有响应都是有HttpResponse继承过来的

get和post
POSTGETHTTP协议定义的与服务器交互的方法。

GET一般用于获取/查询资源信息,而POST一般用于更新资源信息

先用post请求举个例子

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def MyView(request):
    user = request.POST.get('user')
    pwd = request.POST.get('pwd')
    return HttpResponse(f"账号为:{user},密码为:{pwd}")

def MyView2(request):
    return render(request,'index.html')

向指定的资源提交要被处理的数据;使用POST,提交的数据保存在HTTP协议中的消息主体部分

  • post请求不会被浏览器缓存
  • post提交数据长度无限制
  • postget更加安全

获取用户以post形式提交的数据并保存在后台,为类字典数据,这里和request.GET是一个东西;

在网页中,一般我们通过html的表单进行数据的提交,POST方式可以提交空数据
因为涉及到了表单页面,所以我们先来弄一个HTML页面

创建一个HTML格式.index文件
在这里插入图片描述
写一些简单的HTML代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h3>员工界面</h3>
    <form method="post" action="/myview/">
    		{% csrf_token %}
        账号:<input type="text" name="user">
        密码:<input type="password" name="pwd">
        <input type="submit" value="提交">
    </form>
</body>
</html>

写完以后运行我们代码pycharm代码
进入我们的刚刚写的视图中,我们路由的名字就是myview2直接进入
(如果直接进入视图myview) 因为我们没有写账号密码 所以就显示为空none
在这里插入图片描述
然后输入账号密码 去检测一下 视图myview中能不能获取到账号密码
在这里插入图片描述在这里插入图片描述
也是成功的进入到了视图myview中并成功刚刚输入的账号密码

2.客户端和服务端的简单关系

根据图片可以大概了解到整个流程

浏览器→请求request →服务器Django
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ↑↓
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤviewㅤ ←→ㅤmodel
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ↑↓ ㅤㅤㅤㅤ↑↓
浏览器ㅤㅤㅤㅤ←ㅤㅤㅤㅤtemplateㅤ←→数据库
在这里插入图片描述在这里插入图片描述

3.常见易改的报错处理

****3.1说到报错肯定让人感到非常头疼欲哭无泪,对与萌新太说更是"雪上加霜"
第一肯定是大大的问号 不过不要慌一点点来看请添加图片描述

比如几个例子:
请添加图片描述
可以在django配置位置中找到:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

方法一:防跨站伪造令牌的加载,把他关闭
方法二:表单区域添加
{% csrf_token %}标签进行防跨站伪造令牌的加载,否则表单数据的将被认为是无效的
在这里插入图片描述
!!还有一些这种报错,不要慌先看,不理解可以有道百度翻译一下
请添加图片描述
大致意思就是无法打开文件maage.py 没有这样的文件或目录
我们手误打错命令导致的
在这里插入图片描述我们手误打错命令导致的
在这里插入图片描述
还有关于命令打太快了,出现这种情况没办法退出,也不想关软件
在这里插入图片描述
输入:quit()
退出的意思嘛 就退出了。

4.总结

1.熟练掌握GET、POST请求方式下的数据接收
2.可以合理使用各项视图响应进行视图返回
3.掌握CBV方式的视图编写

4.报错信息处理以及处理方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值