【初识Django 2】

【初识Django 2】,第1张

目录
  • 1.视图请求
  • 2.客户端和服务端的简单关系
  • 3.常见易改的报错处理
  • 4.总结

1.视图请求

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

get和post
POSTGET是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提交数据长度无限制
  • postget更加安全

获取用户以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中并成功刚刚输入的账号密码

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.报错信息处理以及处理方式

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/791913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存