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. ...
随机推荐
- 在虚拟机上安装CentOS6.5(minimal)
在虚拟机上安装CentOS6.5(minimal) 2017年04月04日 09:40:38 kongmd 阅读数:2171 1.安装CentOS6.5 1.首先下载VMware ,和CentOS ...
- Ansys-CHEMKIN-pro表面反应机制输入(Surface Kinetics Input)规则
chemkin表面反应机制文件(Ansys-CHEMKIN-pro表面反应机制输入) 1. 文件包含表面活性位(相).表面组分,固相组分.固相,热力学数据,反应机制: 2. 顺序:物质名称,活性位数据 ...
- sql server数据库的带返回值的存储和函数的基础使用
准备基本的数据 create table test_table ( id int identity(0,1), name varchar(20), age int, book_name varchar ...
- BLE目录
CH58x/CH57x 蓝牙从机篇(Peripheral) CH573 CH582 CH579蓝牙从机(Peripheral)/主机(Central)例程讲解一(蓝牙主从机收发数据接口说明) CH57 ...
- pycharm安装包的简便方法
- P3128 [USACO15DEC]Max Flow P(树上倍增和树链剖分)
思路1(树上倍增$ + $树上差分) 每次都修改一条从\(u\)到\(v\),不就是树上差分的专门操作吗?? 直接用倍增求\(LCA\),每次\(d[u]++,d[v]++,d[LCA(u,v)]-- ...
- linux修改用户密码期限
1. https://www.cnblogs.com/wwwcf1982603555/p/15474557.html 设置密码复杂度: http://events.jianshu.io/p/533d3 ...
- 微信网页授权——获取code、access_token、openid,及跨域问题解决
首先在微信开发文档中有提到微信网页授权的操作步骤: 第一步:用户同意授权,获取code 在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中 ...
- CSS伪类三角形
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Shell脚本之while read line的用法
Shell脚本之while read line的用法 while read line do - done < file read通过输入重定向,把file的第一行所有的内容赋值给变量line,循 ...