Django 静态文件 request对象方法 pycharm和Django连接MySQL Django模型层初步了解 基本的ORM操作
目录
静态文件
一、概念
- 静态文件:不经常变化的文件,主要针对html文件所使用到的各种资源。
例如:css文件、js文件、img文件、第三方框架文件
ps: Django针对静态文件资源需要单独在根目录创建一个static目录统一存放,该目录下的文件类型还有很多,例如:utils目录,plugins目录,libs目录等
- 资源访问:我们的浏览器地址栏之所以可以使用路由获取到相应的资源是因为程序员提前开设了资源的接口。
- 静态文件资源访问:默认情况下无法访问,因为我们没有提前开设静态文件资源的访问接口。
二、静态文件的相关配置
先把提前下载好的第三方前端框架cv到static目录下

在settings.py文件的最下面找到STATIC_URL = '/static/',在其下面加上STATICFILES_DIRS存储静态文件资源的目录名称
接口前缀
STATIC_URL = '/xxx/' # 访问静态文件资源的接口前缀(通行证)
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'), # 存储静态文件资源的目录名称
os.path.join(BASE_DIR, 'static1'), # 存储静态文件资源的目录名称
os.path.join(BASE_DIR, 'static2'), # 存储静态文件资源的目录名称
]
'''
接口前缀正确之后 会拿着后面的路径依次去到列表中自上而下查找 一旦找到就返回
'''

- 接口前缀的动态匹配
在HTML文件中:
{% load static %}
<script src="{% static 'jquery.min.js' %}"></script>
<link rel="stylesheet" href="{% static 'bootstrap-3.4.1-dist/css/bootstrap.min.css' %}">
<script src="{% static 'bootstrap-3.4.1-dist/js/bootstrap.min.js' %}"></script>
- 在浏览器的地址栏就可以获取静态文件的资源

form表单
一、基本属性
- action属性: 控制数据提交的地址
1.action="" 数据默认提交给当前页面所在的地址
2.action="https://www.baidu.com/" 完整地址
3.action="/index/" 朝当前服务端的index地址提交
- method属性: 控制数据提交的方法
默认是 get
可以改 post method="post"
- enctype属性:enctype就是encodetype就是编码类型的意思。multipart/form-data是指表单数据中由多部分构成,既有文本数据,又有文件等二进制数据。
默认是 enctype="application/x-www-form-urlencoded"
可以改 enctype="multipart/form-data"
PS:默认情况下,enctype的值是application/x-www-form-urlencoded,不能用于文件上传,只有使用了multipart/form-data,才能完整的传递文件数据。
二、get和post区别
- 功能不同
1、get是从服务器上获取数据。
2、post是向服务器传送数据。
- 过程不zhi同
1、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。
2、post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
- 获取值不同
1、对于get方式,服务器端用Request.QueryString获取变量的值。
2、对于post方式,服务器端用Request.Form获取提交的数据。
- 传送数据量不同
1、get传送的数据量较小,不能大于2KB。
2、post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
- 安全性不同
1、get安全性非常低。
2、post安全性较高。
三、前期如果要发送post请求需要主要要去配置文件注释一行CSRF的代码行

request对象
- 方法的基本使用
- request.method 获取请求方式 结果是纯大写的字符串数据GET\POST
- request.POST 获取post请求请求体里面携带的数据
- request.POST.get() 获取列表最后一个数据值
- request.POST.getlist() 获取整个列表数据
- request.GET 获取网址问号后面携带的数据
- request.GET.get() 获取列表最后一个数据值
- request.GET.getlist() 获取整个列表数据
- 在视图函数中针对不同的请求代码编写套路
if request.method == 'POST':
return HttpResponse()
return HttpResponse()
四、pycharm和Django连接MySQL
一、pycharm连接MySQL
- 首先找到MySQL

- 然后输入相关数据连接即可

PS: 在第一次连接需要手动下载驱动,在连接之前最好先测试一下是否可以连接成功
二、Django连接MySQL
- sqllite3:django自带的sqlite3是一个小型的数据库 功能比较少 主要用于本地测试,所以我们实际项目中都会替换掉它
- 默认配置sqlite3

- 修改配置文件 (无需将上面默认的删除,注释修改即可)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'day51',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '123',
'CHARSET': 'utf8'
}
}
- 需要指定模块
- django1.X版本需要在项目目录下或者app目录下的__init__.py编写代码
import pymysql
pymysql.install_as_MySQLdb()
- django2.X及以上都可以直接通过下载mysqlclient模块解决
pip3.8 install mysqlclient
ps:该模块windows下载问题不大 主要是mac电脑可能有问题
ORM
一、ORM简介
ORM:对象关系映射,能够让不会SQL语句的python程序员 使用python面向对象的语法来操作数据库。
类 表
对象 一条条数据
对象点名字 数据获取字段对应的值
PS:ORM由于高度封装了SQL 所以有时候效率较低 我们需要自己写SQL
- ORM基本操作
- 首先在models.py中编写模型类
class UserInfo(models.Model):
# id int primary key auto_increment
id = models.AutoField(primary_key=True) # 字段名 = 字段类型+约束条件
# name varchar(32)
name = models.CharField(max_length=32)
# age int
age = models.IntegerField()
# password varchar(32)
password = models.CharField(max_length=64)
- 执行数据库迁移相关命令
python38 manage.py makemigrations 将操作记录到小本本上(migrations)

python38 manage.py migrate 将操作同步到数据库上

可以看见数据库已经被建好

** PS: 注意每次在models.py修改了与数据库相关的代码 都需要再次执行上述命令**
注:前期不熟悉,建议写完整的语法,后期熟练可以偷懒

- ORM初识基本语句(后面还会有详细)
- 主要在views写功能的时候使用,注意要先导入models文件
from app01 import models
models.类名.objects.create() # 增
models.类名.objects.filter() # 查
models.类名.objects.update() # 改
models.类名.objects.delete() # 删
Django 静态文件 request对象方法 pycharm和Django连接MySQL Django模型层初步了解 基本的ORM操作的更多相关文章
- Django框架三板斧本质-jsonResponse对象-form表单上传文件request对象方法-FBV与CBV区别
目录 一:视图层 2.三板斧(HttpResponse对象) 4.HttpResponse() 5.render() 6.redirect() 7.也可以是一个完整的URL 二:三板斧本质 1.Dja ...
- django三板斧与request对象方法与ORM
目录 django三板斧 HttpResponse() render() redirect() 网页获取静态文件样式 request对象方法 post请求问题 针对get请求和post请求执行不同代码 ...
- Django视图层/FBV与CBV/jsonResponse对象/form表单上传文件/request对象获取文件
目录 虚拟环境 视图层views 三板斧 jsonResponse对象 form如何上传文件/request对象获取文件 request对象方法 FBV与CBV CBV源码解析 虚拟环境 每创建一个虚 ...
- [Django框架 - 静态文件配置、request对象方法初识、 pycharm链接数据库、ORM实操增删改查、django请求生命周期]
[Django框架 - 静态文件配置.request对象方法初识. pycharm链接数据库.ORM实操增删改查.django请求生命周期] 我们将html文件默认都放在templates文件夹下 将 ...
- Django学习——静态文件配置、request对象方法、pycharm如何链接数据库、Django如何指定数据库、Django orm操作
静态文件配置 # 1.静态文件 网站所使用的已经提前写好的文件 css文件 js文件 img文件 第三方文件 我们在存储静态文件资源的时候一般默认都是放在static文件夹下 # 2.Django静态 ...
- HttpResponse,render,redirect,静态文件配置,request对象方法,pycharm连接MySQL,django连接MySQL,django ORM
HttpResponse 主要用于返回字符串类型的数据 def index(request): return HttpResponse('index页面') 在页面中就会显示 index页面 rend ...
- Django静态文件配置(from表单-request对象方法-get请求与post请求-视图函数书写)
目录 一:静态文件配置 1.静态文件配置 2.什么是静态文件? 3.静态文件的创建 4.解决使用django后端代码修改前端不显示(缓存问题) 5.settings.py 静态文件配置 6.静态文接口 ...
- Django静态文件配置-request方法-ORM简介-字段的增删改查
app的创建注意事项: 在Django新创建的app要在seetings.py中添加注册,才会生效 创建app:django-adminapp an startapp app名称 或者 python3 ...
- django静态文件配置
开发环境配置 需要下面几个步骤 1. 在app目录下创建static目录,将静态文件和相关文件夹放到此目录下,如your_app/static/img等 2. 确保settings.py中的INSTA ...
- Django——静态文件配置
本文目的 最近用django开发项目,发现django的静态文件(js,css和img等)配置比较麻烦,开发环境和生产环境的配置还不一样,这里记录一下,作为备忘.我当前使用的版本是django v1. ...
随机推荐
- MySQL代替in之临时表
如果我们正常的使用IN去查询 SELECT * FROM a JOIN b ON a.id = b.id WHERE b.tag_id IN (1,2,3,4,5,6) 这种因为in里面的参数是连续的 ...
- MySQL日期date型和int型互换的方法
一.date型换int型 SELECT UNIX_TIMESTAMP('2017-9-22 13:54:45') 二.int型转date型 SELECT FROM_UNIXTIME(150605968 ...
- PCB封装设计建议:
1,通孔型元器件建议孔直径比元器件管脚直径大0.2-0.3mm左右,焊盘铜皮外沿一般是0.3-1mm(相当于直径应该加0.6-2mm)宽大元件可再大一点,对于设计单面板的,则最小铜皮外沿应大于1mm以 ...
- 在 Kubernetes 集群中部署现代应用的通用模式
在 Kubernetes 集群中部署现代应用的通用模式 摘要 我们正在经历现代应用交付领域的第二次浪潮,而 Kubernetes 和容器化则是这次浪潮的主要推动力量. 随着第二次浪潮的推进,我们在 N ...
- JS中报错处理 try catch finally的使用
JS中标准报错处理通过 try catch finally ,使用格式 try { } catch (err) { } finally { } 代码1: try { console.log('顺序 1 ...
- MarkDown学习day1
# Markdown学习 ## 标题: #+"空格"+标题名字 为一级为标题 ##+"空格"+标题名字 为二级标题 同理几级标题就是几个#,最多支持6级标题 # ...
- Unity安卓端文件写在外部设置
- k8s集群角色管理
查看集群各节点角色: [root@k8s-master-2 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master-1 Ready ...
- Java笔记第十一弹
TCP通信程序 TCP发送数据 //需要进行三次握手 import java.io.*; public class Main{ public static void main(String[] arg ...
- Bootstarp5第二弹
四.网格系统 网格系统根据设备屏幕尺寸大小分为6类: col-<!--任意屏幕--> col-sm-<!--平板 - 屏幕宽度等于或大于 576px.--> col-md-&l ...