django静态文件、form表单和request对象
一、静态文件
比如我们要创建一个用户登陆页面,这时候就需要创建一个html文件同时引入一些配置文件。
1.静态文件概念
静态文件指的是不怎么经常变化的文件,主要针对html文件所使用的到的各种资源
如:css文件、js文件、img文件、第三方框架文件
django针对静态文件资源需要单独开始一个目录统一存放
目录名称:static目录 该目录下如果各种类型的文件都多,还可以继续创建目录 css目录(存放css的文件) js目录(存放js的文件) img目录(存放图片) 存放插件:utils目录/plugins目录/libs目录/others目录/或是不创
2.资源访问
我们在地址栏中之所以可以属于路由获取到相应的资源是因为程序员提前开设了资源的接口
3.静态文件资源访问
默认情况下无法访问,因为我们没有提前开设静态文件资源的访问接口,也就是前端不能直接访问后端的文件。
二、静态文件相关配置
想让前端能访问后端的文件需要设置配置信息开放权限。
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
ps:名称需要纯大写,否则不会执行
1.接口前缀
STATIC_URL = '/xxx/'
# 访问静态文件资源的接口前缀(相当于通行证)
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'), # 存储静态文件资源的目录名称
os.path.join(BASE_DIR, 'static1'), # 存储静态文件资源的目录名称,可以同时创建多个目录
os.path.join(BASE_DIR, 'static2'), # 存储静态文件资源的目录名称
]
接口前缀正确之后 会拿着后面的路径依次去到列表中自上而下查找,一旦找到就返回

2.接口前缀动态匹配
当我们在配置文件中开放了接口后,如果我们想要修改接口名称就需要在html文件中同时进行修改,当网页很多的时候工作量就会很大,这时候就需要设置接口前缀的动态匹配。
<head>
<meta charset="UTF-8">
<title>blogs</title>
{% load static %}
<link rel="stylesheet" href="{% static 'bootstrap-3.4.1-dist/css/bootstrap.min.css' %}">
<link rel="stylesheet" href="{% static 'blog.css' %}">
<script src="{% static 'bootstrap-3.4.1-dist/js/bootstrap.min.js' %}"></script>
</head>
三、form表单
action属性
我们给表单标签form添加属性action控制数据提交的地址
<form action="/login/" method="post">
action属性的三种配置
1.action="" 数据默认提交给当前页面所在的地址
2.action="https://www.baidu.com/" 完整地址
3.action="/index/" 朝当前服务端的index地址提交
method属性
<form action="/login/" method="post">
在http协议中浏览器和服务端通过报文交互,报文分成请求报文和响应报文,转换到method属性中就是get和post两种值。
作用:控制数据提交的方法
默认情况是get
可以改post
请求方法补充
get
朝服务端索要数据 也可以携带一些额外的要求
携带额外数据的方式: URL?xxx=yyy&uuu=zzz 也就是说网址后面用?隔开数据,数据之间用&符号分隔 问号后面携带数据的大小是有限制(2KB)的并且不能携带敏感数据
当我们打开浏览器访问网页的时候就是get方式

post
朝服务端提交数据
携带额外数据的方式: 请求体 请求体携带数据安全性较高并且没有大小限制
当我们使用按钮提交新数据的时候使用的就是post方式

前期发送post请求需要注释掉配置文件中的某一行(后面还会讲的)
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',
]

四、request对象
这里介绍了request对象的一些方法
request.method 获取请求方式 结果是纯大写的字符串数据
结果:GET\POST
request.POST 获取post请求请求体里面携带的数据
request.POST.get() 获取列表最后一个数据值
request.POST.getlist() 获取整个列表数据,获取了列表后可以使用索引获取列表中的值
request.GET 获取网址问号后面携带的数据
request.GET.get() 获取列表最后一个数据值
request.GET.getlist() 获取整个列表数据,跟POST一样,获取了列表后可以使用索引获取列表中的值
"""
在视图函数中针对不同的请求代码编写套路
if request.method == 'POST':
return HttpResponse()
return HttpResponse()
"""
django静态文件、form表单和request对象的更多相关文章
- Django框架:2、静态文件配置、form表单、request对象、pycharm链接数据库、django链接数据库、ORM框架
Django框架 目录 Django框架 一.静态文件配置 1.静态文件 2.配置方法 二.form表单 1.action属性 2.method属性 三.request对象 1.基本用法 四.pych ...
- Django静态文件配置、form表单、request对象、连接数据库、ORM
目录 静态文件配置 静态文件相关配置 1.接口前缀 浏览器停用缓存 2.接口前缀动态匹配 form表单 action 控制数据提交的地址 method 控制数据提交的方法 请求方法补充 get: 朝服 ...
- Django框架——静态文件配置、form表单、request对象、连接数据库、ORM简介、ORM基本操作和语句
配置文件介绍 SECRET_KEY = '0yge9t5m9&%=of**qk2m9z^7-gp2db)g!*5dzb136ys0#)*%*a' # 盐 DEBUG = True # 调试模式 ...
- Django框架 之 Form表单和Ajax上传文件
Django框架 之 Form表单和Ajax上传文件 浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html 1 2 3 4 5 6 7 <h3& ...
- Django组件之Form表单
一.Django中的Form表单介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入 ...
- Django 构建模板form表单的两种方法
通常情况下,我们想构建一张表单时会在模板文件login.html中写入 <form action="/your-name/" method="post"& ...
- 第三百一十一节,Django框架,Form表单验证
第三百一十一节,Django框架,Form表单验证 表单提交 html <!DOCTYPE html> <html lang="en"> <head& ...
- form表单转化json对象
利用 $.fn 可以让每一个jquery 对象都能直接使用这个方法. //form表单转化json对象$.fn.serializeObject = function () { var o = {}; ...
- django项目中form表单和ajax的文件上传功能。
form表单文件上传 路由 # from表单上传 path('formupload/',apply.formupload,name='formupload/'), 方法 # form表单文件上传 de ...
- Django中的Form表单
Django中已经定义好了form类,可以很容易的使用Django生成一个表单. 一.利用Django生成一个表单: 1.在应用下创建一个forms文件,用于存放form表单.然后在forms中实例华 ...
随机推荐
- Python 潮流周刊#71:PyPI 应该摆脱掉它的赞助依赖(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- 1.1 HELLO 窗口
跟着教程,开始第一步创建窗口吧!这一节不涉及太多知识. 本节会出现一些名词,我们现在只需要知道它们大概是干什么的就行. ● GLFW:一个专门针对OpenGL的C语言库,通过它提供的接口,我们就可以渲 ...
- 2024年2月中国数据库排行榜:PolarDB夺魁首登顶,TiDB攀升回探花
银装素裹覆大地,春意初醒待来临.2024年2月墨天轮中国数据库流行度榜单出炉,表现最亮眼的无疑是PolarDB,其自23年7月以来一路高歌猛进,此次更是一举夺魁,彰显了云原生数据库的蓬勃发展态势,Oc ...
- C#的排序方法 OrderBy
using System;using System.Collections.Generic;using System.Linq;using System.Net.Http;using System.R ...
- Pandas 空值数据的索引 位置 行号
前言 先说一下什么是pandas, 这个东西其实就是一个处理表格数据的一个库.可以把它看做是一个没有图形化界面的Excel. Pandas中的空值是非常多的,这体现了数据搜集的一个不可避免的方面.由于 ...
- Centos 安装 supervisord服务
安装supervisord 执行如下命令安装supervisord yum install epel-release -y yum install supervisor -y 设置开机启动superv ...
- Centos7安装Mysql5.7.42
安装前的清理 查看是否安装了Mysql版本 [root@localhost ~]# yum list installed mysql* [root@localhost ~]# rpm –qa|grep ...
- Kubernetes上安装nacos
k8s配置 --- apiVersion: apps/v1 kind: Deployment metadata: name: nacos namespace: com spec: selector: ...
- WebElement的常用属性和方法
WebElement是WebDriver.find_element()方法返回的一个对象,该对象用来描述Web上的一个元素,比如输入框,按钮等.本节介绍WebElement的常用属性和方法. 一.We ...
- Kubernetes 中实现 MySQL 的读写分离
Kubernetes 中实现 MySQL 的读写分离 在 Kubernetes 中实现 MySQL 的读写分离,可以通过主从复制架构来实现.在这种架构中,MySQL 主节点(Master)负责处理所有 ...