- 1.视图请求
- 2.客户端和服务端的简单关系
- 3.常见易改的报错处理
- 4.总结
1.1什么是视图请求
视图函数一般用来接收一个Web请求HttpRequest
,之后返回一个Web响应HttpResponse
也可以这样理解:所有响应都是有HttpResponse继承过来的
get和post
POST
和GET
是HTTP协议定义的与服务器交互的方法。
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
提交数据长度无限制post
比get
更加安全
获取用户以post
形式提交的数据并保存在后台,为类字典数据,这里和request.GET
是一个东西;
在网页中,一般我们通过html
的表单进行数据的提交,POST
方式可以提交空数据
因为涉及到了表单页面,所以我们先来弄一个HTML
页面
创建一个HTML格式.index文件
写一些简单的HTML代码
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
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中并成功刚刚输入的账号密码
根据图片可以大概了解到整个流程
浏览器→请求request →服务器Django
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ↑↓
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤviewㅤ ←→ㅤmodel
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ↑↓ ㅤㅤㅤㅤ↑↓
浏览器ㅤㅤㅤㅤ←ㅤㅤㅤㅤtemplateㅤ←→数据库
****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()
退出的意思嘛 就退出了。
1.熟练掌握GET、POST请求方式下的数据接收
2.可以合理使用各项视图响应进行视图返回
3.掌握CBV方式的视图编写
4.报错信息处理以及处理方式
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)